123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- const rptChangeRela = (function (){
- const info = {
- change: { title: '请选择变更令', colHeader: ['选择', '变更令号', '工程名称'] },
- change_project: { title: '请选择变更立项', colHeader: ['选择', '变更立项编号', '工程名称'] },
- change_apply: { title: '请选择变更申请', colHeader: ['选择', '变更申请编号', '工程名称'] },
- change_plan: { title: '请选择变更方案', colHeader: ['选择', '变更方案编号', '工程名称'] },
- };
- const data = {};
- let curType = '';
- const initList = function () {
- const header = info[curType].colHeader;
- $('#scr-header').html(`<tr class="text-center"><th>${header[0]}</th><th>${header[1]}</th><th>${header[2]}</th></tr>`);
- const html = [], arr = data[curType];
- for (const a of arr) {
- const checked = a.selected ? 'checked' : '';
- html.push('<tr>', `<td class="text-center"><input type="checkbox" name="scr-check" ${checked} value="${a.cid || a.id}"></td>`, `<td>${a.code}</td>`, `<td>${a.name}</td>`, '</tr>');
- }
- $('#scr-list').html(html.join(''));
- };
- const showChangeRela = async function (type) {
- curType = type;
- document.getElementById('scr-title').innerText = info[type].title;
- if (!data[type]) {
- const result = await postDataAsync(`/tender/${window.location.pathname.split('/')[2]}/load`, { filter: curType });
- data[curType] = result[curType];
- }
- initList();
- $('#select-change-rela').modal('show');
- $('#scr-all').change(function () {
- const check = this.checked;
- $('[name=scr-check]').each((i, c) => { c.checked = check });
- })
- };
- const updateChangeRela = async function () {
- const updateData = {};
- updateData[curType] = [];
- if (curType === 'change') {
- $('[name=scr-check]').each((i, c) => {
- const ci = data[curType].find(x => { return x.cid === c.value });
- const checked = c.checked ? 1 : 0;
- if (ci && ci.selected !== checked) {
- updateData[curType].push({ cid: c.value, selected: c.checked });
- }
- });
- } else {
- $('[name=scr-check]').each((i, c) => {
- const ci = data[curType].find(x => { return x.id == c.value });
- const checked = c.checked ? 1 : 0;
- if (ci && ci.selected !== checked) {
- updateData[curType].push({id: c.value, selected: c.checked})
- }
- });
- }
- if (updateData[curType].length > 0) {
- await postData(`/tender/${window.location.pathname.split('/')[2]}/saveRela`, updateData);
- if (curType === 'change') {
- $('[name=scr-check]').each((i, c) => {
- const ci = data[curType].find(x => {
- return x.cid === c.value
- });
- if (ci) ci.selected = c.checked ? 1 : 0;
- });
- } else {
- $('[name=scr-check]').each((i, c) => {
- const ci = data[curType].find(x => {
- return x.id == c.value
- });
- if (ci) ci.selected = c.checked ? 1 : 0;
- });
- }
- }
- $('#select-change-rela').modal('hide');
- };
- return { showChangeRela, updateChangeRela }
- })();
|