|
@@ -0,0 +1,53 @@
|
|
|
+const rptOtherStage = (function (){
|
|
|
+ const info = {
|
|
|
+ advance: { title: '请选择预付款', colHeader: ['选择', '期', '审批状态'] },
|
|
|
+ };
|
|
|
+ const data = {};
|
|
|
+ let curType = '';
|
|
|
+ const initList = function () {
|
|
|
+ const header = info[curType].colHeader;
|
|
|
+ $('#sos-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 class="text-center">', `<td><input type="checkbox" name="sos-check" ${checked} value="${a.id}"></td>`, `<td>第${a.order}期</td>`, `<td>${a.statusStr}</td>`, '</tr>');
|
|
|
+ }
|
|
|
+ $('#sos-list').html(html.join(''));
|
|
|
+ };
|
|
|
+ const showOtherStage = async function (type) {
|
|
|
+ curType = type;
|
|
|
+ document.getElementById('sos-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-other-stage').modal('show');
|
|
|
+ $('#sos-all').change(function () {
|
|
|
+ const check = this.checked;
|
|
|
+ $('[name=sos-check]').each((i, c) => { c.checked = check });
|
|
|
+ })
|
|
|
+ };
|
|
|
+ const updateOtherStage = async function () {
|
|
|
+ const updateData = {};
|
|
|
+ updateData[curType] = [];
|
|
|
+ $('[name=sos-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);
|
|
|
+ $('[name=sos-check]').each((i, c) => {
|
|
|
+ const ci = data[curType].find(x => {
|
|
|
+ return x.id == c.value
|
|
|
+ });
|
|
|
+ if (ci) ci.selected = c.checked ? 1 : 0;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ $('#select-other-stage').modal('hide');
|
|
|
+ };
|
|
|
+ return { showOtherStage, updateOtherStage }
|
|
|
+})();
|