123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665 |
- const table = '#table',
- $modal = $('#modal'),
- $modalQuota = $('#modal_quota')
- console.log(`加载项目:${project_id}`)
- const nav_tab_template = `
- <li class="nav-item" data-id="{0}">
- <button type="button" class="nav-link {2} btn-light-primary btn-active-color-primary" data-id="{0}" data-bs-toggle="tab" data-bs-target="#iwb_tab_{0}">{1}</button>
- </li>`,
- tab_content_template = `<div class="tab-pane h-100 fade" id="iwb_tab_{0}" role="tabpanel">{1}</div>`,
- table_template = `<div class="d-flex flex-row h-100 project-box">
- <div class="flex-row-auto h-100 left-box">
- <div class="tree-dom w-300px h-100 overflow-auto" id="js-tree_{0}"></div>
- </div>
- <div class="flex-row-fluid right-box">
- <div class="table-box table-responsive" id="table_box_{0}" style="display: none">
- <section class="d-none">
- <input type="hidden" name="budget_id" value="{0}">
- <input type="hidden" name="project_id" value="">
- <input type="hidden" name="item_id" value="">
- <input type="hidden" name="item_code" value="">
- </section>
- <div class="my-2 d-flex align-items-center table-title mt-5">
- <span class="fw-bolder me-5 title fs-2"></span>
- <span class="badge d-none badge-primary fs-5 me-5"></span>
- <div class="d-flex">
- <div class="form-check form-check-custom form-check-primary form-check-solid">
- <input class="form-check-input" name="table_radio" type="radio" value="task" id="task_radio"/>
- <label class="form-check-label fw-bolder text-primary" for="task_radio">
- 任务列表
- </label>
- </div>
- <div class="form-check form-check-custom form-check-success form-check-solid ms-5">
- <input class="form-check-input" name="table_radio" type="radio" value="quota" id="quota_radio"/>
- <label class="form-check-label fw-bolder text-success" for="quota_radio">
- 定额输入
- </label>
- </div>
- </div>
- </div>
- <div class="d-flex justify-content-between my-5">
- <div class="">
- <button type="button" id="task_add_btn" class="btn btn-primary btn-sm" onclick="Add('{0}')">添加任务</button>
- <button type="button" id="quota_add_btn" class="btn btn-primary btn-sm" onclick="Add_Quota('{0}')">添加定额</button>
- </div>
-
- <form class="search-box d-flex">
- <div class="d-flex">
- <select class="form-select form-select-sm me-5" name="collect_status">
- <option value="">全部采集状态</option>
- <option value="0">未采集</option>
- <option value="1">采集中</option>
- <option value="2">已采集</option>
- <option value="3">采集失败</option>
- <option value="4">数据变更</option>
- </select>
- <select class="form-select form-select-sm me-5" name="process_status">
- <option value="">全部处理状态</option>
- <option value="0">未处理</option>
- <option value="1">处理中</option>
- <option value="2">已处理</option>
- <option value="3">处理失败</option>
- <option value="4">数据变更</option>
- </select>
- <select class="form-select form-select-sm me-5" name="send_status">
- <option value="">全部发送状态</option>
- <option value="0">未发送</option>
- <option value="1">发送中</option>
- <option value="2">已发送</option>
- <option value="3">发送失败</option>
- <option value="4">数据变更</option>
- </select>
- <input type="text" class="form-control form-control-sm w-200px" placeholder="请输入关键字" name="keyword" />
- </div>
- <div class="btn-group ms-5">
- <button type="button" class="btn btn-primary btn-sm" onclick="IwbTableSearch(this)">查询</button>
- <button type="button" class="btn btn-danger btn-sm" onclick="IwbTableResetSearch(this)">重置</button>
- </div>
- </form>
- </div>
- <table class="table table-striped table-bordered table-hover table-rounded" id="table_{0}">
- </table>
- <div class="pagination-row"></div>
- </div>
- </div>
- </div>`
- let _fileUploadDropzone = null
- $(function () {
- GetBudgetInfo()
- InitFileUpload()
- })
- function InitFileUpload(){
- const id = "#modal";
- const dropzone = document.querySelector(id);
- // set the preview element template
- const previewNode = dropzone.querySelector(".dropzone-item");
- previewNode.id = "";
- const previewTemplate = previewNode.parentNode.innerHTML;
- previewNode.parentNode.removeChild(previewNode);
- _fileUploadDropzone = new Dropzone(id, {
- url:"/",
- parallelUploads: 10,
- previewTemplate: previewTemplate,
- autoProcessQueue: false, //关闭自动上传功能
- maxFiles: 5,
- maxFilesize: 10, // MB
- previewsContainer: id + " .dropzone-items", //
- clickable: id + " .dropzone-select", //
- acceptedFiles: '.csv,.xls,.xlsx',
- accept: function(file, done) {
- console.log('DONE', file, done)
- if(file.type.includes('csv') || file.type.includes('.xls') || file.type.includes('sheet')){
- done()
- }else{
- done('文件类型非法,只允许.csv,.xls,.xlsx文件')
- }
- },
- dictInvalidFileType: '文件类型非法,只允许.csv,.xls,.xlsx文件',
- // dictRemoveFileConfirmation: '确定移除文件吗?',
- dictFileTooBig: '文件[{{filesize}}M]过大,最大允许{{maxFilesize}}M。',
- dictMaxFilesExceeded: '最多只能上传5个,每个文件不超过10M',
- });
- _fileUploadDropzone.on("addedfile", function (file) {
- const dropzoneItems = dropzone.querySelectorAll('.dropzone-item');
- dropzoneItems.forEach(dropzoneItem => {
- dropzoneItem.style.display = '';
- });
- if(_fileUploadDropzone.getAcceptedFiles().findIndex(item=>item.name===file.name)>=0){
- MsgWarning('文件已存在')
- _fileUploadDropzone.removeFile(file);
- }
- });
- // _fileUploadDropzone.on("removedfile", function (file) {
- // _files = _files.filter(item=>item.name!==file.name)
- // console.log('removedfile', file,_files)
- // })
- }
- function GetBudgetInfo() {
- IwbAjax_1({
- url: `/api/project/budget/${project_id}`,
- success: function (res) {
- if (res.success) {
- RenderTabs(res.data)
- }else{
- console.error(res.message)
- }
- },
- })
- }
- function RenderTabs(data){
- console.log('RenderTabs', data)
- let str1 = '',
- str2 = ''
- if(data && data.length){
- for (let i = 0; i < data.length; i++) {
- const item = data[i]
- str1 += nav_tab_template.format(item.budget_id, item.budget_code)
- const tableStr = table_template.format(item.budget_id)
- const tabContent = tab_content_template.format(item.budget_id, tableStr)
- // console.log('TAB_CONTENT', tabContent)
- str2 += tabContent
- }
- }
- $('#nav_tab').html(str1)
- const h= $('.app-main .app-container').height() - $('#nav_tab').height() - $('#breadcrumb_header').height()
- $('#tab_content').html(str2).height(h)
- const $tab = $('#nav_tab li button[data-bs-toggle="tab"]')
- $tab.on('shown.bs.tab',(e)=>{
- console.log('TAB', e)
- const tab_id = $(e.target).data('id')
- GetBudgetItems(tab_id)
- })
- const firstTab = new bootstrap.Tab($tab.eq(0))
- firstTab.show()
- }
- function GetBudgetItems(id) {
- const $tree = $(`#js-tree_${id}`)
- // console.log('GetBudgetItems', id,$tree)
- const opt = {
- core: {
- themes: {
- responsive: false,
- },
- strings:{
- 'Loading ...': '加载中...',
- },
- check_callback: true,
- data: function (node, callback) {
- // console.log('TREE_NODE', node)
- IwbAjax_1({
- url: `/api/project/budget-item/${id}/${project_id}?c=${node?.data?.item_code || ''}`,
- success: res => {
- if (res.success) {
- console.log('TREE', res.data)
- callback(res.data)
- } else {
- console.error(res.message)
- }
- },
- })
- },
- },
- types: {
- default: {
- icon: 'ki-outline ki-folder text-primary',
- },
- file: {
- icon: 'ki-outline ki-file text-primary',
- },
- },
- plugins: ['dnd', 'types'],
- }
- // $tree.jstree('destroy')
- $tree.on('loaded.jstree', function(e, data){
- // console.log('TREE_LOADED', e, data)
- const inst = data.instance;
- const obj = inst.get_node(e.target.firstChild.firstChild.firstChild);
- inst.select_node(obj);
- })
- $tree.on('select_node.jstree', function (e, data) {
- console.log('TREE_SELECTED', e, data)
- RenderTabCondent(data.node?.data)
- })
- $tree.jstree(opt)
- }
- function RenderTabCondent(data) {
- // console.log('RenderTabCondent', data)
- const $tableBox = $(`#table_box_${data.budget_id}`),
- $table = $(`#table_${data.budget_id}`)
- const title = data.chapter ?`${data.chapter}、${data.project_name}`: data.section ?`${data.section}.${data.project_name}`: data.project_name
- $tableBox.find('input[name="budget_id"]').val(data.budget_id);
- $tableBox.find('input[name="project_id"]').val(project_id);
- $tableBox.find('input[name="item_id"]').val(data.item_id);
- $tableBox.find('input[name="item_code"]').val(data.item_code);
- $tableBox.find('[name="table_radio"]').prop("disabled",false).off('change.iwb')
- $tableBox.find('[name="table_radio"]').on('change.iwb',function(){
- const val = $(this).val()
- if (val === 'quota') {
- _quotaTable($table,data)
- } else {
- _taskTable($table,data)
- }
- })
- if(data.children_count>0||data.chapter){
- $tableBox.find('.table-title .title').text(title)
- $tableBox.find('.table-title .badge').text('任务列表').removeClass('badge-success').addClass('badge-primary')
- $tableBox.find('#task_radio').prop("checked",true)
- _taskTable($table,data)
- } else {
- $tableBox.find('.table-title .title').text(title)
- $tableBox.find('.table-title .badge').text('定额输入明细').removeClass('badge-primary').addClass('badge-success')
- $tableBox.find('#task_radio').prop("disabled",true)
- $tableBox.find('#quota_radio').prop("checked",true)
- _quotaTable($table,data)
- }
- $tableBox.show()
- function _taskTable($table,data){
- $tableBox.find('[name="collect_status"]').show()
- $tableBox.find('#quota_add_btn').hide()
- $tableBox.find('#task_add_btn').show()
- IwbTable($table, {
- url: `/api/task/list/${data.budget_id}/${project_id}/${data.item_code}`,
- columns: [
- {
- title: '任务编号',
- data: 'id',
- width: '100px',
- },
- {
- title: '任务名称',
- data: 'task_name',
- width: '240px',
- },
- {
- title: '文件数据',
- data: 'file_data',
- width: 'auto',
- render: (row) => {
- let str = ``
- const file_paths = row.file_path ? row.file_path.split(',') : []
- if(file_paths.length){
- for (let i = 0; i < file_paths.length; i++) {
- const path = file_paths[i]
- const names = path.split('/')
- const file_name = names[names.length - 1]
- str += `<a href="#" onclick="DownloadFile('/api/task/download?filename=${encodeURIComponent(path)}','${file_name}')" class="link link-info px-2">${file_name}</a>`
- }
- }else{
- str ="-"
- }
- return str
- }
- },
- {
- title: '任务状态',
- data: 'task_status',
- width: '220px',
- render: (row) => {
- let str = ``
- if (row.collect_status === 0) {
- str += `<span class="badge badge-light-primary">未采集</span>`
- } else if (row.collect_status === 1){
- str += `<span class="badge badge-light-warning">采集中</span>`
- } else if (row.collect_status === 2){
- str += `<span class="badge badge-light-success">采集完成</span>`
- if (row.process_status === 0) {
- str += `<span class="badge badge-light-primary ms-3">未处理</span>`
- } else if (row.process_status === 1){
- str += `<span class="badge badge-light-warning ms-3">处理中</span>`
- } else if (row.process_status === 2){
- str += `<span class="badge badge-light-success ms-3">处理完成</span>`
- if (row.send_status === 0) {
- str += `<span class="badge badge-light-primary ms-3">未发送</span>`
- } else if (row.send_status === 1){
- str += `<span class="badge badge-light-warning ms-3">发送中</span>`
- } else if (row.send_status === 2){
- str += `<span class="badge badge-light-success ms-3">发送完成</span>`
- } else if (row.send_status === 3){
- str += `<span class="badge badge-light-danger ms-3">发送失败</span>`
- }
- } else if (row.process_status === 3){
- str += `<span class="badge badge-light-danger ms-3">处理失败</span>`
- }
- } else if (row.collect_status === 3){
- str += `<span class="badge badge-light-danger">采集失败</span>`
- } else if (row.collect_status === 4){
- str += `<span class="badge badge-light-info">数据变更</span>`
- }
- return str
- }
- },
- {
- title: '操作',
- data: 'id',
- width: '200px',
- render: (row) => {
- let str = ``
- if (row.collect_status === 0) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-primary" data-bs-toggle="tooltip" data-bs-placement="top" title="开始任务" onclick="StartCollectTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-add-notepad fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span></i></button>`
- } else if (row.collect_status === 2) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="重新采集" onclick="ReStartCollectTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-add-notepad fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span></i></button>`
- if (row.process_status === 0) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-primary" data-bs-toggle="tooltip" data-bs-placement="top" title="开始处理" onclick="StartProcessTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-book-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i></button>`
- } else if (row.process_status === 2) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="重新处理" onclick="ReStartProcessTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-book-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i></button>`
- if (row.send_status === 0) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-primary" data-bs-toggle="tooltip" data-bs-placement="top" title="开始发送" onclick="StartSendTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-send fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- } else if (row.send_status === 2) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="重新发送" onclick="ReStartSendTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-send fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- } else if (row.send_status === 3) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="重新发送" onclick="ReStartSendTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-send fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- } else if (row.send_status === 4) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-info" data-bs-toggle="tooltip" data-bs-placement="top" title="重新发送" onclick="ReStartSendTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-send fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- }
- } else if (row.process_status === 3) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="重新处理" onclick="ReStartProcessTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-book-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i></button>`
- } else if (row.process_status === 4) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-info" data-bs-toggle="tooltip" data-bs-placement="top" title="重新处理" onclick="ReStartProcessTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-book-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i></button>`
- }
- } else if (row.collect_status === 3) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="重新采集" onclick="ReStartCollectTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-add-notepad fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span></i></button>`
- }else if (row.collect_status === 4) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-info" data-bs-toggle="tooltip" data-bs-placement="top" title="重新采集" onclick="ReStartCollectTask(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-add-notepad fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span></i></button>`
- }
- str+=`<button type="button" class="btn btn-icon btn-sm btn-light-primary" data-bs-toggle="tooltip" data-bs-placement="top" title="编辑" onclick="Edit(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-message-edit fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- str+=`<button type="button" class="btn btn-icon btn-sm btn-light-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="删除" onclick="Delete(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-trash-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span></i></button>`
- return str
- }
- },
- ]
- }, true)
- }
- function _quotaTable($table,data){
- $tableBox.find('[name="collect_status"]').val('').hide()
- $tableBox.find('#task_add_btn').hide()
- $tableBox.find('#quota_add_btn').show()
- IwbTable($table,{
- url:`/api/quota/list/${data.budget_id}/${project_id}/${data.item_code}`,
- columns: [
- {
- title: '序号',
- data: 'id',
- width: '100px',
- },
- {
- title: '工程或费用项目名称',
- data: 'project_name',
- width: 'auto',
- },
- {
- title: '工程数量',
- data: 'project_quantity',
- width: '100px',
- },
- {
- title: '单位',
- data: 'unit',
- width: '100px',
- },
- {
- title: '定额编号',
- data: 'quota_code',
- width: '100px',
- },
- {
- title: '状态',
- data: 'status',
- width: '150px',
- render: (row) => {
- let str=''
- if(row.process_status === 0){
- str+= `<span class="badge badge-primary">未处理</span>`
- }else if (row.process_status === 1){
- str+= `<span class="badge badge-warning">处理中</span>`
- }else if (row.process_status === 2){
- str+= `<span class="badge badge-success">已处理</span>`
- }else if (row.process_status === 3){
- str+= `<span class="badge badge-danger">处理失败</span>`
- }else if (row.process_status === 4){
- str+= `<span class="badge badge-danger">数据变更</span>`
- }
- if(row.send_status === 0){
- str+= `<span class="badge badge-primary ms-3">未发送</span>`
- }else if (row.send_status === 1){
- str+= `<span class="badge badge-warning ms-3">发送中</span>`
- }else if (row.send_status === 2){
- str+= `<span class="badge badge-success ms-3">已发送</span>`
- }else if (row.send_status === 3){
- str+= `<span class="badge badge-danger ms-3">发送失败</span>`
- }else if (row.send_status === 4){
- str+= `<span class="badge badge-danger ms-3">数据变更</span>`
- }
- return str
- }
- },
- {
- title: '操作',
- data: 'id',
- width: '160px',
- render: (row) => {
- let str=''
- if (row.process_status === 0) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-primary" data-bs-toggle="tooltip" data-bs-placement="top" title="开始处理" onclick="StartProcessQuota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-book-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i></button>`
- } else if (row.process_status === 2) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="重新处理" onclick="ReStartProcessQuota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-book-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i></button>`
- if (row.send_status === 0) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-primary" data-bs-toggle="tooltip" data-bs-placement="top" title="开始发送" onclick="StartSendQuota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-send fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- } else if (row.send_status === 2) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-warning" data-bs-toggle="tooltip" data-bs-placement="top" title="重新发送" onclick="ReStartSendQuota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-send fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- } else if (row.send_status === 3) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="重新发送" onclick="ReStartSendQuota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-send fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- } else if (row.send_status === 4) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-info" data-bs-toggle="tooltip" data-bs-placement="top" title="重新发送" onclick="ReStartSendQuota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-send fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- }
- } else if (row.process_status === 3) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="重新处理" onclick="ReStartProcessQuota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-book-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i></button>`
- } else if (row.process_status === 4) {
- str += `<button type="button" class="btn btn-icon btn-sm btn-light-info" data-bs-toggle="tooltip" data-bs-placement="top" title="重新处理" onclick="ReStartProcessQuota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-book-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span></i></button>`
- }
- str+=`<button type="button" class="btn btn-icon btn-sm btn-light-primary" data-bs-toggle="tooltip" data-bs-placement="top" title="编辑" onclick="Edit_Quota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-message-edit fs-1"><span class="path1"></span><span class="path2"></span></i></button>`
- str+=`<button type="button" class="btn btn-icon btn-sm btn-light-danger" data-bs-toggle="tooltip" data-bs-placement="top" title="删除" onclick="Delete_Quota(${row.id}, ${data.budget_id})"><i class="ki-duotone ki-trash-square fs-1"><span class="path1"></span><span class="path2"></span><span class="path3"></span><span class="path4"></span></i></button>`
- return str
- }
- },
- ]
- }, true)
- }
- }
- function Add(budget_id) {
- _fileUploadDropzone.removeAllFiles()
- AddModal($modal, () => {
- $modal.find('[name="task_id"]').val('0');
- $modal.find('#delete_file_box').hide();
- $modal.find('[name="delete_file"]').prop('checked',false)
- SetBudgetData($modal,budget_id)
- })
- }
- function Edit(id) {
- _fileUploadDropzone.removeAllFiles()
- EditModal($modal,()=>{
- IwbAjax_1({
- url:`/api/task/get/${id}`,
- success:res=>{
- if(!res.success){
- console.error(res.message)
- return
- }
- const data = res.data
- $modal.find('#delete_file_box').show();
- // SetBudgetData(budget_id)
- $modal.find('[name="task_id"]').val(data.id);
- $modal.find('[name="budget_id"]').val(data.budget_id);
- $modal.find('[name="project_id"]').val(data.project_id);
- $modal.find('[name="item_id"]').val(data.item_id);
- $modal.find('[name="item_code"]').val(data.item_code);
- $modal.find('[name="task_name"]').val(data.task_name);
- $modal.find('[name="task_desc"]').val(data.task_desc);
- $modal.find('[name="delete_file"]').prop('checked',false)
- }
- })
- })
- }
- function SetBudgetData($el,budget_id){
- const $tableBox = $(`#table_box_${budget_id}`)
- $el.find('[name="budget_id"').val(budget_id);
- $el.find('[name="project_id"]').val($tableBox.find('input[name="project_id"]').val());
- $el.find('[name="item_id"]').val($tableBox.find('input[name="item_id"]').val());
- $el.find('[name="item_code"]').val($tableBox.find('input[name="item_code"]').val());
- }
- function SaveProject() {
- const
- formData = new FormData(),
- budget_id = $modal.find('[name="budget_id"]').val(),
- item_id = $modal.find('[name="item_id"]').val(),
- item_code = $modal.find('[name="item_code"]').val(),
- project_id = $modal.find('[name="project_id"]').val(),
- task_id= $modal.find('[name="task_id"]').val(),
- task_name = $modal.find('[name="task_name"]').val(),
- task_desc = $modal.find('[name="task_desc"]').val(),
- delete_file = $modal.find('[name="delete_file"]').prop('checked')? 'true':'false',
- files = _fileUploadDropzone.getAcceptedFiles();
- // console.log("FILES",files)
- if(files.length>0){
- files.forEach((file) => {
- formData.append('files', file)
- })
- }
- formData.append('budget_id', budget_id)
- formData.append('item_id', item_id)
- formData.append('item_code', item_code)
- formData.append('project_id', project_id)
- formData.append('task_id', task_id)
- formData.append('task_name', task_name)
- formData.append('task_desc', task_desc)
- formData.append('delete_old', delete_file)
- IwbAjax({
- url:`/api/task/save/${task_id}`,
- headers:{},
- body:formData,
- modal:"#modal",
- table:`#table_${budget_id}`
- })
- }
- function Delete(id,budget_id){
- ConfirmUrl('确定删除吗?',`/api/task/delete/${id}`,`#table_${budget_id}`)
- }
- function StartCollectTask(id,budget_id){
- ConfirmUrl('确定开始采集吗?',`/api/task/start_collect/${id}`,`#table_${budget_id}`)
- }
- function ReStartCollectTask(id,budget_id){
- ConfirmUrl('确定重新开始采集吗?',`/api/task/start_collect/${id}`,`#table_${budget_id}`)
- }
- function StartProcessTask(id,budget_id){
- ConfirmUrl('确定开始处理吗?',`/api/task/start_process/${id}`,`#table_${budget_id}`)
- }
- function ReStartProcessTask(id,budget_id){
- ConfirmUrl('确定重新开始处理吗?',`/api/task/start_process/${id}`,`#table_${budget_id}`)
- }
- function StartSendTask(id,budget_id){
- ConfirmUrl('确定开始发送吗?',`/api/task/start_send/${id}`,`#table_${budget_id}`)
- }
- function ReStartSendTask(id,budget_id){
- ConfirmUrl('确定重新开始发送吗?',`/api/task/start_send/${id}`,`#table_${budget_id}`)
- }
- function Add_Quota(budget_id,) {
- AddModal($modalQuota, () => {
- $modalQuota.find('[name="quota_id"]').val('0');
- $modalQuota.find('[name="task_id"]').val('0');
- SetBudgetData($modalQuota, budget_id)
- })
- }
- function Edit_Quota(id) {
- EditModal($modalQuota,()=>{
- IwbAjax_1({
- url:`/api/quota/get/${id}`,
- success:res=>{
- if(!res.success){
- console.error(res.message)
- return
- }
- const data = res.data
- // SetBudgetData(budget_id)
- $modalQuota.find('[name="quota_id"]').val(data.id);
- $modalQuota.find('[name="task_id"]').val(data.task_id);
- $modalQuota.find('[name="budget_id"]').val(data.budget_id);
- $modalQuota.find('[name="project_id"]').val(data.project_id);
- $modalQuota.find('[name="item_id"]').val(data.item_id);
- $modalQuota.find('[name="item_code"]').val(data.item_code);
- $modalQuota.find('[name="project_name"]').val(data.project_name);
- $modalQuota.find('[name="project_quantity"]').val(data.project_quantity);
- $modalQuota.find('[name="unit"]').val(data.unit);
- $modalQuota.find('[name="quota_code"]').val(data.quota_code);
- }
- })
- })
- }
- function SaveQuota(){
- const quota_id = $modalQuota.find('[name="quota_id"]').val(),
- task_id = $modalQuota.find('[name="task_id"]').val(),
- budget_id = $modalQuota.find('[name="budget_id"]').val(),
- project_id = $modalQuota.find('[name="project_id"]').val(),
- item_id = $modalQuota.find('[name="item_id"]').val(),
- item_code = $modalQuota.find('[name="item_code"]').val(),
- project_name = $modalQuota.find('[name="project_name"]').val(),
- project_quantity = $modalQuota.find('[name="project_quantity"]').val(),
- unit = $modalQuota.find('[name="unit"]').val(),
- quota_code = $modalQuota.find('[name="quota_code"]').val()
- IwbAjax({
- url:`/api/quota/save`,
- data:{
- id: quota_id,
- task_id,
- budget_id,
- project_id,
- item_id,
- item_code,
- project_name,
- project_quantity,
- unit,
- quota_code
- },
- modal:$modalQuota,
- table:`#table_${budget_id}`
- })
- }
- function Delete_Quota(id,budget_id){
- ConfirmUrl('确定删除吗?',`/api/quota/delete/${id}`,`#table_${budget_id}`)
- }
- function StartProcessQuota(id,budget_id){
- ConfirmUrl('确定开始处理吗?',`/api/quota/start_process/${id}`,`#table_${budget_id}`)
- }
- function ReStartProcessQuota(id,budget_id){
- ConfirmUrl('确定重新开始处理吗?',`/api/quota/start_process/${id}`,`#table_${budget_id}`)
- }
- function StartSendQuota(id,budget_id){
- ConfirmUrl('确定开始发送吗?',`/api/quota/start_send/${id}`,`#table_${budget_id}`)
- }
- function ReStartSendQuota(id,budget_id){
- ConfirmUrl('确定重新开始发送吗?',`/api/quota/start_send/${id}`,`#table_${budget_id}`)
- }
|