|
@@ -0,0 +1,173 @@
|
|
|
+'use strict';
|
|
|
+
|
|
|
+/**
|
|
|
+ *
|
|
|
+ *
|
|
|
+ * @author Mai
|
|
|
+ * @date 2018/8/21
|
|
|
+ * @version
|
|
|
+ */
|
|
|
+// 向后端请求中间计量号
|
|
|
+function getNewCode() {
|
|
|
+ postData('/change/newCode', null, function (code) {
|
|
|
+ if (code !== '') {
|
|
|
+ $('#bj-code').val(code);
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+class codeRuleSet {
|
|
|
+ constructor (obj) {
|
|
|
+ this.body = obj;
|
|
|
+ // 切换规则组件类型
|
|
|
+ $('select', obj).change(function () {
|
|
|
+ const codeType = this.selectedIndex;
|
|
|
+ if (codeType === ruleConst.ruleType.addNo) {
|
|
|
+ $('#format', obj).show();
|
|
|
+ $('#text', obj).show();
|
|
|
+ $('#text>label', obj).text('起始编号');
|
|
|
+ $('#text>input', obj).val('001');
|
|
|
+ const s = '0000000000' + 1;
|
|
|
+ $('#text>input', obj).val(s.substr(s.length - $('#format>input', obj).val()));
|
|
|
+ } else if (codeType === ruleConst.ruleType.text) {
|
|
|
+ $('#format', obj).hide();
|
|
|
+ $('#text', obj).show();
|
|
|
+ $('#text>label', obj).text('文本');
|
|
|
+ $('#text>input', obj).val('').attr('placeholder', '请在这里输入需要的文本');
|
|
|
+ } else {
|
|
|
+ $('#format', obj).hide();
|
|
|
+ $('#text', obj).hide();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 修改编号位数
|
|
|
+ $('#format>input', obj).change(function () {
|
|
|
+ const s = '0000000000' + parseInt($('#text>input', obj).val());
|
|
|
+ $('#text>input', obj).val(s.substr(s.length - $(this).val()));
|
|
|
+ });
|
|
|
+ // 新增规则组件
|
|
|
+ $('#addRule', obj).click(function () {
|
|
|
+ const codeType = $('select', obj)[0].selectedIndex;
|
|
|
+ const rule = {rule_type: codeType}, html = [];
|
|
|
+ let preview;
|
|
|
+ switch (codeType) {
|
|
|
+ case ruleConst.ruleType.tenderName: {
|
|
|
+ preview = $('#tenderName').text();
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case ruleConst.ruleType.text: {
|
|
|
+ rule.text = $('#text>input', obj).val();
|
|
|
+ preview = rule.text;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case ruleConst.ruleType.inDate: {
|
|
|
+ preview = moment().format('YYYYMM');
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ case ruleConst.ruleType.addNo: {
|
|
|
+ rule.format = parseInt($('#format>input', obj).val());
|
|
|
+ rule.start = parseInt($('#text>input', obj).val());
|
|
|
+ const s = '0000000000';
|
|
|
+ preview = s.substr(s.length - rule.format);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 更新规则
|
|
|
+ codeRule.push(rule);
|
|
|
+ // 更新规则显示
|
|
|
+ html.push('<span class="badge badge-light" title="' + ruleConst.ruleString[codeType] + '" rule="' + JSON.stringify(rule) + '">');
|
|
|
+ html.push('<span>' + preview + '</span>');
|
|
|
+ html.push('<a href="javascript: void(0);" class="text-danger" title="移除"><i class="fa fa-remove"></i></a>');
|
|
|
+ html.push('</span>');
|
|
|
+ const part = $('#ruleParts', obj).append(html.join(''));
|
|
|
+ // 更新规则预览
|
|
|
+ $('#preview', obj).text($('#preview', obj).text() + preview);
|
|
|
+
|
|
|
+ $('a', part).bind('click', function () {
|
|
|
+ const index = $('a', obj).index(this);
|
|
|
+ codeRule.splice(index, 1);
|
|
|
+ $(this).parent().remove();
|
|
|
+ const rules = $('span>span', obj), ruleText = [];
|
|
|
+ for (const r of rules) {
|
|
|
+ ruleText.push(r.innerText);
|
|
|
+ }
|
|
|
+ $('#preview', obj).text(ruleText.join(''));
|
|
|
+ });
|
|
|
+ });
|
|
|
+ // 删除规则组件
|
|
|
+ $('a', $('#ruleParts', obj)).bind('click', function () {
|
|
|
+ const index = $('a', obj).index(this);
|
|
|
+ codeRule.splice(index, 1);
|
|
|
+ $(this).parent().remove();
|
|
|
+ const rules = $('span>span', obj), ruleText = [];
|
|
|
+ for (const r of rules) {
|
|
|
+ console.log(r.innerText + ':1');
|
|
|
+ ruleText.push(r.innerText);
|
|
|
+ }
|
|
|
+ $('#preview', obj).text('当前规则:' + ruleText.join(''));
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+$(document).ready(() => {
|
|
|
+ // 首次进入设置
|
|
|
+ if (!codeRule || codeRule.length === 0) {
|
|
|
+ codeRule = [];
|
|
|
+ const firstSet = new codeRuleSet($('div.modal-body', '#first'));
|
|
|
+ // 确认规则上传服务器
|
|
|
+ $('#setRule', '#first').bind('click', function () {
|
|
|
+ const data = {
|
|
|
+ rule: ruleType,
|
|
|
+ data: JSON.stringify(codeRule),
|
|
|
+ };
|
|
|
+ postData('/tender/rule', data, function () {
|
|
|
+ $('#first').modal('hide');
|
|
|
+ $('#add-bj').modal('show');
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ $('#first').modal('show');
|
|
|
+ } else if ($('#changList').children.length === 0) {
|
|
|
+ $('#add-bj').modal('show');
|
|
|
+ }
|
|
|
+ // 设置
|
|
|
+ const ruleSet = new codeRuleSet($('div.modal-body', '#setting'));
|
|
|
+ $('#setRule', '#setting').bind('click', function () {
|
|
|
+ const data = {
|
|
|
+ rule: ruleType,
|
|
|
+ data: JSON.stringify(codeRule),
|
|
|
+ };
|
|
|
+ postData('/tender/rule', data, function () {
|
|
|
+ $('#setting').modal('hide');
|
|
|
+ });
|
|
|
+ })
|
|
|
+ // 新增变更令 modal显示
|
|
|
+ $('#add-bj').on('show.bs.modal', function() {
|
|
|
+ getNewCode();
|
|
|
+ if ($('#changeList').children.length === 0) {
|
|
|
+ $('#addCancel').hide();
|
|
|
+ } else {
|
|
|
+ $('#addCancel').show();
|
|
|
+ }
|
|
|
+ $('#bj-code').removeClass('is-invalid');
|
|
|
+ });
|
|
|
+ // 获取最新可用变更令号
|
|
|
+ $('#autoCode').click(getNewCode);
|
|
|
+ // 新增变更令 确认
|
|
|
+ $('#addOk').click(function () {
|
|
|
+ const data = {
|
|
|
+ code: $('#bj-code').val(),
|
|
|
+ name: $('#bj-name').val(),
|
|
|
+ };
|
|
|
+ if (data.code || data.code !== '' || data.name || data.name !== '') {
|
|
|
+ postData('/change/add', data, function (rst) {
|
|
|
+ $('#bj-code').removeClass('is-invalid');
|
|
|
+ $('#mj-add').modal('hide');
|
|
|
+ window.location.href = '/change/' + rst.cid + '/info';
|
|
|
+ }, function () {
|
|
|
+ $('#mj-code').addClass('is-invalid');
|
|
|
+ $('#mj-Hint').show();
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+});
|