index.vue 43 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298
  1. <template>
  2. <div>
  3. <!-- d-flex flex-between -->
  4. <div class="" >
  5. <div style="text-align:right;">
  6. <el-form label-width="100px" :inline="true">
  7. <el-form-item prop="state_value">
  8. <el-select class="mr10" v-model="state_value" placeholder="请选择类别">
  9. <el-option v-for="item in type_list" :key="item.value" :label="item.label" :value="item.value"></el-option>
  10. </el-select>
  11. </el-form-item>
  12. <el-form-item prop="keyword">
  13. <el-input placeholder="请输入搜索关键字" v-model="keyword" clearable @clear="getListData">
  14. </el-input>
  15. </el-form-item>
  16. <el-button type="primary" class="ml5" @click="getListData">搜索</el-button>
  17. <el-tooltip class="item" effect="dark" content="用户初次预览公文,需通过此按钮安转WPS预览组件。无组件支持,将出现不可预览公文情况。" placement="bottom-end">
  18. <el-button type="info" plain icon="el-icon-info" @click="initWpsAss" >wps组件初始化</el-button>
  19. </el-tooltip>
  20. </el-form>
  21. </div>
  22. </div>
  23. <div v-if="false">
  24. <el-table :data="applyTable" tooltip-effect="dark" v-loading="loading" style="width: 100%"
  25. @selection-change="handleSelectionChange" >
  26. <el-table-column type="selection" align="center" width="55"></el-table-column>
  27. <el-table-column label="序号" align="center" type="index" width="50"></el-table-column>
  28. <el-table-column label="类型" show-overflow-tooltip prop="lb_name" width="auto"></el-table-column>
  29. <el-table-column label="标题" show-overflow-tooltip prop="gw_title"></el-table-column>
  30. <el-table-column label="发文字号" show-overflow-tooltip >
  31. <template slot-scope="scope">
  32. {{scope.row.gw_zh}}
  33. </template>
  34. </el-table-column>
  35. <el-table-column label="发起人" show-overflow-tooltip prop="gw_fqr_name"></el-table-column>
  36. <el-table-column label="发起科室" show-overflow-tooltip prop="gw_fqks_name"></el-table-column>
  37. <el-table-column label="发起时间" show-overflow-tooltip prop="create_dateline"></el-table-column>
  38. <el-table-column label="当前步骤" >
  39. <template slot-scope="scope">
  40. {{scope.row.gw_bz!='' ? scope.row.gw_bz : '--'}}
  41. </template>
  42. </el-table-column>
  43. <el-table-column label="当前审核人" >
  44. <template slot-scope="scope">
  45. {{scope.row.gw_shr!='' ? scope.row.gw_shr : '--'}}
  46. </template>
  47. </el-table-column>
  48. <el-table-column label="状态">
  49. <template slot-scope="scope">
  50. <div :class="scope.row.gw_status_option_k=='4' ? 'red' : (scope.row.gw_status_option_k=='5' ? 'green' : '')">
  51. {{scope.row.gw_status}}
  52. </div>
  53. <!-- <div :class="scope.row.xm_status_option_k=='4' ? 'red' : (scope.row.xm_status_option_k=='3' ? 'blue' : ' ') ">
  54. {{scope.row.xm_status}}
  55. </div> -->
  56. </template>
  57. </el-table-column>
  58. <el-table-column label="操作" width="200">
  59. <template slot-scope="scope">
  60. <div v-if="scope.row.gw_status_option_k=='1'">
  61. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  62. <el-button type="text" @click="editShow(scope.row,'edit')">编辑</el-button>
  63. <el-button type="text" @click="applyCheck(scope.row)">提交</el-button>
  64. <el-button type="text" @click="delData(scope.row)">删除</el-button>
  65. </div>
  66. <div v-if="scope.row.gw_status_option_k=='2'">
  67. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  68. <el-button type="text" @click="editShow(scope.row,'edit')">编辑</el-button>
  69. <!-- <el-button type="text" @click="applyCheck(scope.row)">重新提交</el-button> -->
  70. <el-button type="text" @click="higSpeed(scope.row)">催办</el-button>
  71. <el-button type="text" @click="delData(scope.row)">删除</el-button>
  72. </div>
  73. <div v-if="scope.row.gw_status_option_k=='3'">
  74. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  75. <el-button type="text" @click="checkRecord(scope.row)">审批记录</el-button>
  76. <el-button type="text" @click="higSpeed(scope.row)">催办</el-button>
  77. </div>
  78. <div v-if="scope.row.gw_status_option_k=='4'">
  79. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  80. <el-button type="text" @click="checkRecord(scope.row)">审批记录</el-button>
  81. <el-button type="text" @click="editShow(scope.row,'reEdit')">重新提交</el-button>
  82. </div>
  83. <div v-if="scope.row.gw_status_option_k=='5'">
  84. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  85. <el-button type="text" @click="checkRecord(scope.row)">审批记录</el-button>
  86. </div>
  87. </template>
  88. </el-table-column>
  89. </el-table>
  90. </div>
  91. <!-- 可拖拉table -->
  92. <div class="sortAbleTable" >
  93. <el-table :data="applyTable" row-key="gw_id" border style="width: 100%">
  94. <el-table-column type="selection" align="center" width="55"></el-table-column>
  95. <el-table-column type="index" label="序号" width="100" align="center" />
  96. <el-table-column
  97. v-for="(item, index) in colList"
  98. align="center"
  99. show-overflow-tooltip
  100. :key="`col_${index}`"
  101. :prop="dropCol[index].prop"
  102. :label="item.label"
  103. :min-width="item.minWidth"
  104. >
  105. <template v-slot="scope">
  106. <span v-if="dropCol[index].prop == 'date'" style="color: blue">
  107. {{ scope.row[dropCol[index].prop] }}
  108. </span>
  109. <span v-else-if="dropCol[index].prop == 'gw_status'" :class="scope.row.gw_status_option_k=='4' ? 'red' : (scope.row.gw_status_option_k=='5' ? 'green' : '')">
  110. {{ scope.row[dropCol[index].prop] }}
  111. </span>
  112. <span v-else>
  113. {{ scope.row[dropCol[index].prop] }}
  114. </span>
  115. </template>
  116. </el-table-column>
  117. <el-table-column label="操作" width="200">
  118. <template slot-scope="scope">
  119. <div v-if="scope.row.gw_status_option_k=='1'">
  120. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  121. <el-button type="text" @click="editShow(scope.row,'edit')">编辑</el-button>
  122. <el-button type="text" @click="applyCheck(scope.row)">提交</el-button>
  123. <el-button type="text" @click="delData(scope.row)">删除</el-button>
  124. <el-button type="text" @click="downloadFj(scope.row)" v-if="scope.row.gw_fj">下载附件</el-button>
  125. </div>
  126. <div v-if="scope.row.gw_status_option_k=='2'">
  127. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  128. <el-button type="text" @click="editShow(scope.row,'edit')">编辑</el-button>
  129. <el-button type="text" @click="higSpeed(scope.row)" :disabled="buttonDisabled_cb">催办</el-button>
  130. <el-button type="text" @click="delData(scope.row)">删除</el-button>
  131. <el-button type="text" @click="downloadFj(scope.row)" v-if="scope.row.gw_fj">下载附件</el-button>
  132. </div>
  133. <div v-if="scope.row.gw_status_option_k=='3'">
  134. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  135. <el-button type="text" @click="checkRecord(scope.row)">审批记录</el-button>
  136. <el-button type="text" @click="higSpeed(scope.row)" :disabled="buttonDisabled_cb">催办</el-button>
  137. <el-button type="text" @click="downloadFj(scope.row)" v-if="scope.row.gw_fj">下载附件</el-button>
  138. </div>
  139. <div v-if="scope.row.gw_status_option_k=='4'">
  140. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  141. <el-button type="text" @click="checkRecord(scope.row)">审批记录</el-button>
  142. <!-- <el-button type="text" @click="editShow(scope.row,'reEdit')">重新提交</el-button> -->
  143. <el-button type="text" @click="applyCheck(scope.row)">重新提交</el-button>
  144. <el-button type="text" @click="downloadFj(scope.row)" v-if="scope.row.gw_fj">下载附件</el-button>
  145. </div>
  146. <div v-if="scope.row.gw_status_option_k=='5'">
  147. <el-button type="text" @click="reviewShow(scope.row)">预览</el-button>
  148. <el-button type="text" @click="checkRecord(scope.row)">审批记录</el-button>
  149. <el-button type="text" @click="downloadFj(scope.row)" v-if="scope.row.gw_fj">下载附件</el-button>
  150. </div>
  151. </template>
  152. </el-table-column>
  153. </el-table>
  154. <footer class="flex-item-none" style="display: flex; justify-content: flex-end; margin-top: 30px">
  155. <el-pagination background layout="total,prev, pager, next" :page-size="limit" :total="total"
  156. :current-page.sync="cur_page" @current-change="handleCurrentChange"></el-pagination>
  157. </footer>
  158. </div>
  159. <!-- diglog-详情框 -->
  160. <el-dialog title="预览/详情" :visible.sync="dialogVisible_detail" width="210mm">
  161. <div>
  162. <div class="onlineShow" v-if="singleData.gw_ylfj_pdf">
  163. <iframe :src="prefixPDFUrl+singleData.gw_ylfj_pdf" v-if="singleData.gw_ylfj_pdf" style="width:100%;min-height:600px;border:0;" name="ifrmname" id="ifrmid" ></iframe>
  164. </div>
  165. <div class="posiR webDialogReview" v-else>
  166. <div class="titleHeader" >
  167. <div style="text-align:center;">
  168. <img src="../../../assets/images/fileTitle1.png" alt="" v-if="singleData.lb_id==1">
  169. <img src="../../../assets/images/fileTitle2.png" alt="" v-else-if="singleData.lb_id==2">
  170. <img src="../../../assets/images/fileTitle3.png" alt="" v-else-if="singleData.lb_id==3">
  171. <img src="../../../assets/images/fileTitle4.png" alt="" v-else-if="singleData.lb_id==4">
  172. <img src="../../../assets/images/fileTitle5.png" alt="" v-else-if="singleData.lb_id==5">
  173. <img src="../../../assets/images/fileTitle6.png" alt="" v-else>
  174. </div>
  175. <div class="secPart">{{singleData.gw_zh}}</div>
  176. <h3>{{singleData.gw_title}}</h3>
  177. <p class="GWDetail" v-html="singleData.gw_content"></p>
  178. </div>
  179. <div class="footerInfo">
  180. <p>景宁畲族自治县教育局</p>
  181. <p>{{singleData.fb_dateline}}</p>
  182. </div>
  183. <div class="reaFooter">
  184. <div class="reaFooter_left">{{singleData.gw_fqks_name}}</div>
  185. <div class="reaFooter_right">{{singleData.fb_dateline}}印发</div>
  186. </div>
  187. </div>
  188. </div>
  189. <span slot="footer" class="dialog-footer">
  190. <el-button @click="dialogVisible_detail = false">取 消</el-button>
  191. <el-button type="primary" @click="dialogVisible_detail = false">确 定</el-button>
  192. </span>
  193. </el-dialog>
  194. <!-- dialog-审批记录 -->
  195. <el-dialog title="审批记录" :visible.sync="dialogTableVisible_record">
  196. <el-table :data="gridData">
  197. <el-table-column label="序号" align="center" type="index" width="50"></el-table-column>
  198. <el-table-column property="sh_dept_name" label="步骤名称" show-overflow-tooltip></el-table-column>
  199. <el-table-column property="sh_user_name" label="审核人" ></el-table-column>
  200. <el-table-column property="modify_dateline" label="审核时间" show-overflow-tooltip></el-table-column>
  201. <el-table-column property="cz" label="操作" show-overflow-tooltip>
  202. <template slot-scope="scope">
  203. <div>
  204. {{scope.row.sh_status=='2' ? '通过' : (scope.row.sh_status=='1' ? '待处理' : '不通过')}}
  205. </div>
  206. </template>
  207. </el-table-column>
  208. <el-table-column property="sh_reason" label="处理意见"></el-table-column>
  209. </el-table>
  210. <div slot="footer" class="dialog-footer">
  211. <el-button @click="dialogTableVisible_record = false">取 消</el-button>
  212. <el-button type="primary" @click="dialogTableVisible_record = false">确 定</el-button>
  213. </div>
  214. </el-dialog>
  215. <!-- dialog-编辑发文拟稿 -->
  216. <el-dialog title="编辑发文拟稿" :visible.sync="dialogFormVisible_fwng" width="50%">
  217. <el-form :model="dialogForm_fwng" label-width="140px" label-position="left" ref="addForm_fwng" :rules="rules_check_fwng">
  218. <el-form-item label="类型" prop="lxObj">
  219. <el-select v-model="dialogForm_fwng.lxObj" placeholder="请选择类型" @change="switchLBData" style="width:100%;" filterable>
  220. <el-option v-for="item in lxLIST " :key="item.value+ Math.random()" :label="item.label"
  221. :value="item" >
  222. </el-option>
  223. </el-select>
  224. </el-form-item>
  225. <el-form-item label="标题" prop="bt">
  226. <el-input v-model="dialogForm_fwng.bt" placeholder="请输入标题"></el-input>
  227. </el-form-item>
  228. <el-form-item label="发文字号" prop="fwzh">
  229. <el-input v-model="dialogForm_fwng.fwzh" placeholder="发文字号自动填充:例如:景教函〔2022〕001号" disabled>
  230. </el-input>
  231. </el-form-item>
  232. <el-form-item label="发起人" prop="fqrObj">
  233. <el-select v-model="dialogForm_fwng.fqrObj" placeholder="请选择发起人" style="width:100%;" filterable>
  234. <el-option v-for="item in userLIST " :key="item.value+ Math.random()" :label="item.label"
  235. :value="item" >
  236. </el-option>
  237. </el-select>
  238. </el-form-item>
  239. <el-form-item label="发起科室" prop="fqksObj">
  240. <el-select v-model="dialogForm_fwng.fqksObj" placeholder="请选择发起科室" style="width:100%;" filterable @change="KsLinkLc">
  241. <el-option v-for="item in orgLIST " :key="item.value+ Math.random()" :label="item.label"
  242. :value="item" >
  243. </el-option>
  244. </el-select>
  245. </el-form-item>
  246. <el-form-item label="关联流程" prop="gllcObj">
  247. <el-select style="width: 100%" v-model="dialogForm_fwng.gllcObj" placeholder="请选择关联流程" filterable >
  248. <el-option v-for="item in lcglLIST " :key="item.value+ Math.random()" :label="item.label"
  249. :value="{value:item.value,label:item.label}">
  250. </el-option>
  251. </el-select>
  252. </el-form-item>
  253. <!-- <el-form-item label="上传发文拟稿文件" prop="mbfj" required>
  254. <el-upload
  255. ref="Mbupload"
  256. v-model="dialogForm_fwng.mbfj"
  257. class="upload-demo"
  258. action="#"
  259. :http-request="GwmbappendixHttpRequest"
  260. :on-remove="GwmbhandleRemoveAppendix"
  261. :limit="1"
  262. :file-list="mbappendixList"
  263. accept=".doc,.docx,.wps"
  264. >
  265. <el-button size="small" type="primary">发文拟稿文件-点击上传</el-button>
  266. <div slot="tip" class="el-upload__tip">支持文件类型:.doc(.docx)、.wps文件格式</div>
  267. </el-upload>
  268. </el-form-item> -->
  269. <!-- <el-form-item label="正文" prop="zw">
  270. <Tinymce v-if="dialogFormVisible_fwng" v-model="dialogForm_fwng.zw" :height="300" :key="timestamp"></Tinymce>
  271. </el-form-item> -->
  272. <el-form-item label="附件" >
  273. <FileUpload :limit="1" v-if="dialogFormVisible_fwng" :full.sync="dialogForm_fwng.fj" :key="timestamp" >
  274. <div slot="tip" class="el-upload__tip">
  275. 支持文件类型:doc(.docx)、.ppt(.pptx)、.xls(.xlsx)、.pps、.wps、.pdf、.txt文件格式。
  276. </div>
  277. </FileUpload>
  278. </el-form-item>
  279. </el-form>
  280. <div slot="footer">
  281. <el-button @click="dialogFormVisible_fwng=false;">取 消</el-button>
  282. <el-button type="primary" @click="formSubmit_fwng('addForm_fwng')">确 定</el-button>
  283. </div>
  284. </el-dialog>
  285. <!-- WPSOA助手dialog -->
  286. <el-dialog title="WPS预览正文" :visible.sync="dialogFormVisible_wpsoa" width="20%">
  287. <div style="text-align:center;">
  288. <WpsLink :fileName="fileName" :filePath=filePath :readOnly=readOnly>
  289. <el-button type="primary" size="medium">
  290. <span class="d-in-block v-mid font-size-16">{{wpsOAAssisentTitle}}</span>
  291. </el-button>
  292. </WpsLink>
  293. </div>
  294. </el-dialog>
  295. <!--PDF预览文件dialog 显示-->
  296. <el-dialog title="详情" :visible.sync="dialogFormVisible_detail">
  297. <div v-if="pdfExist=='1'">
  298. <iframe :src="prefixPDFUrl+curFileShowUrl" v-if="curFileShowUrl" style="width:100%;min-height:600px;border:0;" name="ifrmname" id="ifrmid" ></iframe>
  299. </div>
  300. <div v-else>
  301. <iframe :src="microsoftPreview+docxPreview+pathUrl" style="width:100%;min-height:600px;border:0;" name="ifrmname" ></iframe>
  302. </div>
  303. <div slot="footer" class="dialog-footer">
  304. <el-button @click="dialogFormVisible_detail = false">取 消</el-button>
  305. </div>
  306. </el-dialog>
  307. </div>
  308. </template>
  309. <script>
  310. import { wdfw_list, wdfw_add, wdfw_edit, wdfw_del, wdfw_detail, xmlb_list,fwng_add, gwglLcgl_List,fwng_lb_list,get_gwzh,org_list, org_users } from "./itemApi";
  311. import { useUserStore } from "@/stores/user";
  312. const { real_name, user_id, dept_ids } = useUserStore();
  313. import Tinymce from "@/components/TinymceVue/index.vue";
  314. import FileUpload from "@/components/FileUpload/index.vue";
  315. import WpsLink from "@/components/WpsLink/index.vue";
  316. import Sortable from 'sortablejs';
  317. import colDrap from "../../../utils/drag";
  318. import { getFullUrl } from "@/utils/helper";
  319. import { download, download2,download3} from "@/utils/request";
  320. export default {
  321. name: "xmsq",
  322. components: {
  323. Tinymce,
  324. FileUpload,
  325. WpsLink
  326. },
  327. data() {
  328. var validateMbfj = (rule, value, callback) => {
  329. if (value == '') {
  330. return callback(new Error('请上传发文拟稿文件'))
  331. } else {
  332. console.log('有上传附件')
  333. callback()
  334. }
  335. }
  336. return {
  337. state_value: "",
  338. keyword: "",
  339. /**
  340. * 1待提交 2已提交 3审核中 4不通过5已通过
  341. */
  342. type_list: [
  343. {
  344. label: '全部',
  345. value: '0'
  346. },{
  347. label: '待提交',
  348. value: '1'
  349. },{
  350. label: '已提交',
  351. value: '2'
  352. },{
  353. label: '审核中',
  354. value: '3'
  355. },{
  356. label: '不通过',
  357. value: '4'
  358. },{
  359. label: '已通过',
  360. value: '5'
  361. }
  362. ],
  363. applyTable: [],
  364. limit: 10,
  365. total: 0,
  366. cur_page: 1,
  367. xmlbLIST: [],
  368. orgLIST: [],
  369. lxLIST:[],
  370. userLIST:[],
  371. lcglLIST:[],
  372. dialogForm: {
  373. xmmc: '',
  374. xmlb: '',
  375. xmlb_id: '',
  376. xmly: '',
  377. sqks: '',
  378. xmys: '',
  379. sbsj: '',
  380. xmnr: '',
  381. xmfs: '',
  382. xmfj: '',
  383. },
  384. rules: {
  385. xmmc: [
  386. { required: true, message: '请输入项目名称', trigger: 'blur' }
  387. ],
  388. xmlb: [
  389. { required: true, message: '请选择项目类别', trigger: 'change' }
  390. ],
  391. xmly: [
  392. { required: true, message: '请输入项目理由', trigger: 'blur' }
  393. ],
  394. sqks: [
  395. { required: true, message: '请选择申请科室', trigger: 'change' }
  396. ],
  397. xmys: [
  398. { required: true, message: '请输入项目预算', trigger: 'blur' }
  399. ],
  400. sbsj: [
  401. { required: true, message: '请选择申报时间', trigger: 'change' }
  402. ],
  403. xmnr: [
  404. { required: true, message: '请输入项目内容', trigger: 'blur' }
  405. ],
  406. xmfs: [
  407. { required: true, message: '请输入项目方式', trigger: 'blur' }
  408. ],
  409. },
  410. money: 0,
  411. totalMoney: 0,
  412. multipleSelection: [],
  413. isEdit: false,
  414. id: "",
  415. loading: false,
  416. userList: [],
  417. dialogForm_check: {
  418. shjg: '',
  419. clyj: '',
  420. },
  421. rules_check: {
  422. shjg: [
  423. { required: true, message: '请选择审核结果', trigger: 'change' }
  424. ],
  425. clyj: [
  426. { required: true, message: '请输入处理意见', trigger: 'blur' }
  427. ]
  428. },
  429. xmlbId: '',
  430. checkID: '',
  431. dialogVisible_detail: false,
  432. dialogTableVisible_record: false,
  433. gridData: [],
  434. singleData:'',
  435. extraParameters:{
  436. api:'json',
  437. urltype: 2,
  438. fullUrlType:1,
  439. },
  440. updateUrl:window.globalVariables.api+'/upload/main/file',
  441. dialogFormVisible_fwng: false,
  442. dialogForm_fwng: {
  443. lxObj: '',
  444. bt: '',
  445. fwzh:'',
  446. fqrObj: '',
  447. fqksObj: '',
  448. gllcObj:'',
  449. // mbfj:'',
  450. zw: '',
  451. fj:'',
  452. },
  453. rules_check_fwng: {
  454. lxObj: [
  455. { required: true, message: '请选择类型', trigger: 'change'}
  456. ],
  457. bt: [
  458. { required: true, message: '请输入标题', trigger: 'blur'}
  459. ],
  460. fwzh: [
  461. { required: true, message: '请规范输入发文字号', trigger: 'blur'}
  462. ],
  463. fqrObj: [
  464. { required: true, message: '请选择发起人', trigger: 'change'}
  465. ],
  466. fqksObj: [
  467. { required: true, message: '请选择发起科室', trigger: 'change'}
  468. ],
  469. gllcObj:[
  470. {required: true, message: '请选择关联科室', trigger: 'change'}
  471. ],
  472. // mbfj: [
  473. // // { required: true, message: '请上传模版附件', trigger: 'blur' },
  474. // {validator:validateMbfj,trigger: 'change' }
  475. // ],
  476. zw: [
  477. { required: true, message: '请输入正文', trigger: 'blur'}
  478. ],
  479. fj:[
  480. { required: true, message: '请上传附件', trigger: 'blur'}
  481. ]
  482. },
  483. timestamp: Date.now(),
  484. gwId:'',
  485. reEdit: '',
  486. prefixPDFUrl: window.globalVariables.api + '/plugins/pdf.js/web/viewer2.html?file=',
  487. mbappendixList: [],
  488. fileName:'',
  489. filePath:'',
  490. readOnly:false,
  491. dialogFormVisible_wpsoa: false,
  492. wpsOAAssisentTitle:"编辑查看公文",
  493. dialogFormVisible_detail: false,
  494. curFileShowUrl: '',
  495. //动态列数组
  496. colList: [
  497. {
  498. label: "类型",
  499. prop: "lb_name",
  500. minWidth: 100,
  501. },
  502. {
  503. label: "标题",
  504. prop: "gw_title",
  505. minWidth: 100,
  506. },
  507. {
  508. label: "发文字号",
  509. prop: "gw_zh",
  510. minWidth: 100,
  511. },
  512. {
  513. label: "发起人",
  514. prop: "gw_fqr_name",
  515. minWidth: 100,
  516. },
  517. {
  518. label: "发起科室",
  519. prop: "gw_fqks_name",
  520. minWidth: 100,
  521. },
  522. {
  523. label: "发起时间",
  524. prop: "create_dateline",
  525. minWidth: 100,
  526. },
  527. {
  528. label: "当前步骤",
  529. prop: "gw_bz",
  530. minWidth: 100,
  531. },
  532. {
  533. label: "当前审核人",
  534. prop: "gw_shr",
  535. minWidth: 100,
  536. },
  537. {
  538. label: "状态",
  539. prop: "gw_status",
  540. minWidth: 100,
  541. },
  542. ],
  543. //拖拽列
  544. dropCol: [
  545. {
  546. label: "类型",
  547. prop: "lb_name",
  548. minWidth: 100,
  549. },
  550. {
  551. label: "标题",
  552. prop: "gw_title",
  553. minWidth: 100,
  554. },
  555. {
  556. label: "发文字号",
  557. prop: "gw_zh",
  558. minWidth: 100,
  559. },
  560. {
  561. label: "发起人",
  562. prop: "gw_fqr_name",
  563. minWidth: 100,
  564. },
  565. {
  566. label: "发起科室",
  567. prop: "gw_fqks_name",
  568. minWidth: 100,
  569. },
  570. {
  571. label: "发起时间",
  572. prop: "create_dateline",
  573. minWidth: 100,
  574. },
  575. {
  576. label: "当前步骤",
  577. prop: "gw_bz",
  578. minWidth: 100,
  579. },
  580. {
  581. label: "当前审核人",
  582. prop: "gw_shr",
  583. minWidth: 100,
  584. },
  585. {
  586. label: "状态",
  587. prop: "gw_status",
  588. minWidth: 100,
  589. },
  590. ],
  591. buttonDisabled_cb: false,
  592. fileFinalArr:[],
  593. microsoftPreview: window.globalVariables.microsoftPreview,
  594. docxPreview: window.globalVariables.docxPreview,
  595. pdfExist: "",
  596. pathUrl:"",
  597. };
  598. },
  599. mounted() {
  600. this.getListData();
  601. this.dropCol = colDrap(this.dropCol);
  602. },
  603. methods: {
  604. //获取用户列表
  605. getUserList() {
  606. let data = {
  607. dept_id: dept_ids[0],
  608. page: 1,
  609. limit: 9999
  610. }
  611. org_users(data).then(res => {
  612. if (res.code == 1) {
  613. this.userList = res.data.page_data;
  614. }
  615. })
  616. },
  617. //组织机构列表
  618. orgList() {
  619. let transObjs = {
  620. limit:999
  621. }
  622. org_list(transObjs)
  623. .then(res => {
  624. if (res.code == "1") {
  625. let singleData = res.data.page_data;
  626. singleData.forEach(item => {
  627. this.orgLIST.push({
  628. label: item.uo_name,
  629. value: item.uo_id
  630. })
  631. });
  632. }
  633. })
  634. .catch(err => { console.log(err) });
  635. },
  636. //开启的类别
  637. lbList() {
  638. let transObj = {
  639. lb_status:1
  640. };
  641. fwng_lb_list(transObj).then((res) => {
  642. if (res.code == "1") {
  643. this.lxLIST = [];
  644. res.data.page_data.forEach(item => {
  645. this.lxLIST.push({
  646. label: item.lb_name,
  647. value: item.lb_id
  648. })
  649. });
  650. }
  651. });
  652. },
  653. getListData() {
  654. this.loading = true;
  655. let transObj = {
  656. page: this.cur_page,
  657. limit: this.limit,
  658. keyword: this.keyword,
  659. gw_status: this.state_value,
  660. my_gw:1,
  661. };
  662. wdfw_list(transObj).then((res) => {
  663. this.loading = false;
  664. if (res.code == "1") {
  665. this.applyTable = res.data.page_data;
  666. this.cur_page = Number(res.data.page_now);
  667. this.total = Number(res.data.total_rows);
  668. }
  669. });
  670. },
  671. initWpsAss() {
  672. let installLink = window.globalVariables.installLink;
  673. window.open(installLink, '_blank');
  674. },
  675. //操作模块-预览
  676. reviewShow(item) {
  677. // 1待提交 2已提交 3审核中 4不通过5已通过
  678. let currentGWStatus = item.gw_status_option_k;
  679. /**
  680. * 公文状态 是 待提交 和 不通过的,创建人 上图 弹窗里的显示 “编辑查看公文”;
  681. 公文状态 是 已提交、审核中、已通过,创建人上图 弹窗里的显示 “查看公文”,打开是pdf查看;
  682. */
  683. // 预览显示
  684. let transObj = {
  685. gw_id:item.gw_id
  686. }
  687. wdfw_detail(transObj)
  688. .then(res => {
  689. if (res.code == "1") {
  690. this.singleData = res.data.one_info;
  691. this.pdfExist = item.pdf_exist;
  692. if (currentGWStatus == 1 || currentGWStatus == 4) {
  693. this.wpsOAAssisentTitle = "预览公文";
  694. this.readOnly = false;
  695. let filePath_judge = res.data.one_info.gw_content.split('|')[0];
  696. this.filePath = getFullUrl(filePath_judge);
  697. const fileName = this.filePath.split('/').pop();
  698. const fileExt = fileName.split('.').pop();
  699. this.fileName=res.data.one_info.gw_title+"."+fileExt;
  700. this.dialogFormVisible_wpsoa =true;
  701. } else {
  702. //打开pdf,但是PDF不一定有值
  703. let pdf_exist = item.pdf_exist;
  704. if (pdf_exist == "0") {//micrposoft 预览Word文件
  705. // this.$message.error('公文未填写,无法预览~');
  706. let appendUrl = item.gw_content.split('|')[0];
  707. this.pathUrl = appendUrl;
  708. } else {
  709. let appendUrl = item.gw_content.split('|')[0];
  710. this.filePath = getFullUrl(appendUrl);
  711. this.curFileShowUrl = this.filePath.replace(/\.\w+$/, '.pdf');
  712. }
  713. this.dialogFormVisible_detail = true;
  714. }
  715. }
  716. })
  717. .catch(err=>{console.log(err)})
  718. },
  719. //操作模块-编辑
  720. editShow(item, mark) {
  721. if (mark == 'edit') {
  722. this.reEdit = false;
  723. this.readOnly = true;
  724. }else{
  725. this.reEdit = true;
  726. }
  727. this.isEdit = true;
  728. this.userLIST = [{
  729. label:real_name,value:user_id
  730. }]
  731. //请求数据回填
  732. this.chooseID = item.xm_id;
  733. this.gwId = item.gw_id;
  734. let transObj = {
  735. gw_id: item.gw_id
  736. }
  737. wdfw_detail(transObj)
  738. .then(res => {
  739. if (res.code == "1") {
  740. let singleData = res.data.one_info;
  741. let linkObj = { label: singleData.gw_fqks_name, value: singleData.gw_fqks_id }
  742. this.KsLinkLc(linkObj);
  743. let appendName = singleData.gw_content.split('|')[1];
  744. let appendUrl=singleData.gw_content.split('|')[0];
  745. this.mbappendixList = [{
  746. name:appendName,
  747. url:appendUrl
  748. }];
  749. //这里是相对地址
  750. this.filePath = getFullUrl(appendUrl);
  751. this.dialogForm_fwng = {
  752. lxObj: { label:singleData.lb_name,value:singleData.lb_id},
  753. bt: singleData.gw_title,
  754. fwzh:singleData.gw_zh,
  755. fqrObj: {label:real_name,value:user_id},
  756. fqksObj: {label:singleData.gw_fqks_name,value:singleData.gw_fqks_id},
  757. gllcObj: {label:singleData.lc_name,value:singleData.lc_id},
  758. zw: singleData.gw_content,
  759. fj: singleData.gw_fj,
  760. };
  761. this.dialogFormVisible_fwng = true;
  762. }
  763. })
  764. .catch(err => { console.log(err) })
  765. this.lbList();
  766. // this.getUserList();
  767. this.orgList();
  768. },
  769. //选择类别
  770. switchLBData(val) {
  771. let transObj = {
  772. issubmit:1,
  773. lb_id: val.value,
  774. }
  775. get_gwzh(transObj)
  776. .then(res => {
  777. if (res.code == 1) {
  778. this.dialogForm_fwng.fwzh = res.data.data;
  779. } else {
  780. this.$message({
  781. message: res.msg,
  782. type: "error",
  783. });
  784. }
  785. })
  786. .catch(err=>{console.log(err)})
  787. },
  788. /**公文模版文件-附件上传网络请求*/
  789. GwmbappendixHttpRequest(param){
  790. const { token } = useUserStore()
  791. let file=param.file;
  792. let formData = new FormData();
  793. formData.append('filedata', file)
  794. formData.append('api',this.extraParameters.api)
  795. formData.append('urltype',this.extraParameters.urltype)
  796. formData.append('token',token);
  797. //发起axios请求
  798. let that=this;
  799. that.$axios({
  800. method: 'post',
  801. url: this.updateUrl,
  802. headers:{'Content-Type': 'multipart/form-data'},
  803. data: formData
  804. })
  805. .then(res=>{
  806. var response=res.data;
  807. if(response.code=="1"){//单个上传后台返回的是相对地址
  808. let tempArr={
  809. name:response.data.file_name,
  810. url:response.data.url
  811. }
  812. //存入appendixList列表中
  813. this.mbappendixList.push(tempArr);
  814. this.filePath =getFullUrl(response.data.url);
  815. //存入localhost,方便别的页面shi'yong
  816. this.dialogForm_fwng.mbfj = response.data.url;
  817. this.$message({
  818. message: response.msg,
  819. type: 'success'
  820. })
  821. }
  822. })
  823. .catch(error=>{
  824. console.log(error)
  825. })
  826. },
  827. /**公文附件-删除*/
  828. GwmbhandleRemoveAppendix(file, fileList) {
  829. var fileName=file.name;
  830. this.mbappendixList=this.mbappendixList.filter(item => item.name !== fileName);
  831. this.$refs.ruleForm.validateField('mofj');
  832. },
  833. //发文拟稿_提交
  834. formSubmit_fwng(formName) {
  835. this.$refs[formName].validate((valid) => {
  836. if (valid) {
  837. let transObj={
  838. issubmit: 1,
  839. jdbg_gwgl_gw: {
  840. lb_name: this.dialogForm_fwng.lxObj.label,//类别名称
  841. lb_id:this.dialogForm_fwng.lxObj.value,//类别id
  842. gw_title: this.dialogForm_fwng.bt,// 公文名称
  843. gw_zh:this.dialogForm_fwng.fwzh,//发文字号(拼合)
  844. gw_fqr_name: this.dialogForm_fwng.fqrObj.label,//发起人姓名
  845. gw_fqks_name: this.dialogForm_fwng.fqksObj.label,//发起科室名称
  846. gw_fqks_id: this.dialogForm_fwng.fqksObj.value,//发起科室id
  847. // gw_content: this.dialogForm_fwng.zw,//正文
  848. gw_fj: this.dialogForm_fwng.fj,//公文附件
  849. lc_id:this.dialogForm_fwng.gllcObj.value,
  850. }
  851. }
  852. if (!this.isEdit) {//新增
  853. fwng_add(transObj)
  854. .then(res => {
  855. if (res.code == "1") {
  856. this.$message({
  857. message: res.msg,
  858. type: "success",
  859. });
  860. this.getListData()
  861. this.dialogFormVisible_fwng = false;
  862. } else {
  863. this.$message({
  864. message: res.msg,
  865. type: "error",
  866. });
  867. }
  868. })
  869. .catch(err=>{console.log(err)})
  870. } else {//编辑
  871. if (this.reEdit) {
  872. transObj.gw_id = this.gwId;
  873. transObj.jdbg_gwgl_gw.gw_status = 2;
  874. }else{
  875. transObj.gw_id = this.gwId;
  876. }
  877. wdfw_edit(transObj)
  878. .then(res => {
  879. if (res.code == "1") {
  880. this.$message({
  881. message: res.msg,
  882. type: "success",
  883. });
  884. this.getListData()
  885. this.dialogFormVisible_fwng = false;
  886. }
  887. })
  888. .catch(err=>{console.log(err)})
  889. }
  890. }
  891. })
  892. },
  893. //详情
  894. detailShow(item) {
  895. let chooseID = item.xm_id;
  896. this.$router.push({ name: "xmlxsb_xmsq_xq", params: { id: chooseID } });
  897. },
  898. //提交审核
  899. applyCheck(item) {
  900. let transObj = {
  901. issubmit: 1,
  902. gw_id: item.gw_id,
  903. jdbg_gwgl_gw: {
  904. gw_status: 2
  905. }
  906. }
  907. wdfw_edit(transObj)
  908. .then(res => {
  909. if (res.code == "1") {
  910. this.$message({
  911. message: res.msg,
  912. type: "success",
  913. });
  914. this.getListData();
  915. } else {
  916. this.$message({
  917. message: res.msg,
  918. type: "error",
  919. });
  920. }
  921. })
  922. .catch(err => { console.log(err) })
  923. },
  924. //审批记录
  925. checkRecord(item) {
  926. let transObj = {
  927. gw_id: item.gw_id
  928. }
  929. wdfw_detail(transObj)
  930. .then(res => {
  931. if (res.code == "1") {
  932. let singleData = res.data.one_info;
  933. this.gridData = res.data.one_info.shjl;
  934. }
  935. })
  936. .catch(err=>{console.log(err)})
  937. this.dialogTableVisible_record = true;
  938. },
  939. //重新拟稿
  940. reNG(item) {
  941. this.delData(item);
  942. },
  943. //删除
  944. delData(item) {
  945. let transObj = {
  946. gw_id: item.gw_id
  947. };
  948. this.$confirm("确认删除该申请?", "提示", {
  949. confirmButtonText: "确定",
  950. cancelButtonText: "取消",
  951. type: "warning",
  952. })
  953. .then(() => {
  954. wdfw_del(transObj).then((res) => {
  955. if (res.code == 1) {
  956. this.$message({
  957. message: "申请删除成功!",
  958. type: "success",
  959. });
  960. this.getListData();
  961. } else {
  962. this.$message({
  963. message: res.msg,
  964. type: "error",
  965. });
  966. }
  967. });
  968. })
  969. .catch(() => { });
  970. },
  971. //下载附件
  972. downloadFj(item) {
  973. let geFj=item.gw_fj
  974. if (geFj != '') {//字段有值
  975. let ifOneB = geFj.indexOf(";");
  976. if (ifOneB != '-1') {//能找到,不止一个附件
  977. let muilArr = geFj.split(';');
  978. let flileArr = []
  979. muilArr.forEach(item => {
  980. let secSpil = item.split('|');
  981. flileArr.push({
  982. fileUrl: getFullUrl(secSpil[0]),
  983. fileName: secSpil[1]
  984. })
  985. })
  986. this.fileFinalArr = flileArr;
  987. } else {//只有一个
  988. let singleArr = geFj.split('|');
  989. this.fileFinalArr = [{
  990. fileUrl: getFullUrl(singleArr[0]),
  991. fileName: singleArr[1]
  992. }];
  993. }
  994. } else {
  995. this.fileFinalArr = [];
  996. }
  997. if(this.fileFinalArr.length>1){
  998. console.log('附件有多个~');
  999. return
  1000. }else{
  1001. download3(this.fileFinalArr[0].fileUrl, '', this.fileFinalArr[0].fileName);
  1002. }
  1003. },
  1004. //催办
  1005. higSpeed(item) {
  1006. //催办按钮不能重复点击
  1007. let transObj = {
  1008. issubmit: 1,
  1009. gw_id: item.gw_id,
  1010. jdbg_gwgl_gw: {
  1011. gw_cb: 1
  1012. }
  1013. }
  1014. wdfw_edit(transObj)
  1015. .then(res => {
  1016. if (res.code == "1") {
  1017. this.$message({
  1018. message: res.msg,
  1019. type: "success",
  1020. });
  1021. // 禁用按钮
  1022. this.buttonDisabled_cb = true;
  1023. // 3 秒后启用按钮
  1024. setTimeout(() => {
  1025. this.buttonDisabled_cb = false;
  1026. }, 3000);
  1027. this.getListData();
  1028. } else {
  1029. this.$message({
  1030. message: res.msg,
  1031. type: "error",
  1032. });
  1033. }
  1034. })
  1035. .catch(err => { console.log(err) })
  1036. },
  1037. //打印表单
  1038. printForm(item) {
  1039. let chooseID = 1;
  1040. this.$router.push({ name: "xmlxsb_xmsq_dybb", params: { id: chooseID } });
  1041. },
  1042. //弹出审核dialog
  1043. myCheckSwitch(item) {
  1044. this.checkID = item.sh_id;
  1045. this.dialogFormVisible_check = true;
  1046. },
  1047. //多选
  1048. handleSelectionChange(val) {
  1049. this.multipleSelection = [];
  1050. this.multipleSelection = val;
  1051. },
  1052. //项目类别列表数据
  1053. xmlbList() {
  1054. xmlb_list({})
  1055. .then(res => {
  1056. if (res.code == "1") {
  1057. this.xmlbLIST = [];
  1058. res.data.page_data.forEach(item => {
  1059. this.xmlbLIST.push({
  1060. label: item.lb_name,
  1061. value: item.lb_id,
  1062. })
  1063. })
  1064. }
  1065. })
  1066. .catch(err => {
  1067. console.log(error)
  1068. })
  1069. },
  1070. //项目立项申报
  1071. addFormSubmit(formName) {
  1072. this.$refs[formName].validate((valid) => {
  1073. if (valid) {
  1074. this.loading = true;
  1075. let transObj = {
  1076. issubmit: 1,
  1077. jdbg_xmlxsb_xmsq: {
  1078. xm_name: this.dialogForm.xmmc,
  1079. lb_name: this.dialogForm.xmlb.label,//类别名称
  1080. lb_id: this.dialogForm.xmlb.value,//类别id
  1081. xm_reason: this.dialogForm.xmly,//理由
  1082. dept_name: this.dialogForm.sqks.label,//部门名称
  1083. dept_id: this.dialogForm.sqks.value,//部门id
  1084. xm_content: this.dialogForm.xmnr,//内容
  1085. xm_file: this.dialogForm.xmfj,// 附件
  1086. xm_type: this.dialogForm.xmfs,//项目方式
  1087. xm_price: this.dialogForm.xmys,//预算
  1088. xm_sbsj: this.dialogForm.sbsj,//申报时间
  1089. xm_status: "",//状态
  1090. xm_fp_user: "",//分配用户
  1091. xm_is_wc: "",//是否完成1是2否
  1092. xm_shlc: "",//审核流程
  1093. }
  1094. }
  1095. console.log(transObj, "提交参数");
  1096. if (!this.isEdit) {
  1097. xmsq_add(transObj).then(res => {
  1098. this.loading = false;
  1099. if (res.code == 1) {
  1100. this.$message({
  1101. message: res.msg,
  1102. type: "success",
  1103. });
  1104. this.dialogFormVisible = false;
  1105. this.getListData();
  1106. } else {
  1107. this.$message({
  1108. message: res.msg,
  1109. type: "error",
  1110. });
  1111. }
  1112. })
  1113. } else {//编辑
  1114. let transObj = {
  1115. issubmit: 1,
  1116. xm_id: this.chooseID,
  1117. jdbg_xmlxsb_xmsq: {
  1118. xm_name: this.dialogForm.xmmc,
  1119. lb_name: this.dialogForm.xmlb,//类别名称
  1120. lb_id: this.dialogForm.xmlb_id,//类别id
  1121. xm_reason: this.dialogForm.xmly,//理由
  1122. dept_name: this.dialogForm.sqks.label,//部门名称
  1123. xm_content: this.dialogForm.xmnr,//内容
  1124. xm_file: this.dialogForm.xmfj,// 附件
  1125. xm_type: this.dialogForm.xmfs,//项目方式
  1126. xm_price: this.dialogForm.xmys,//预算
  1127. xm_sbsj: this.dialogForm.sbsj,//申报时间
  1128. xm_status: "",//状态
  1129. xm_fp_user: "",//分配用户
  1130. xm_is_wc: "",//是否完成1是2否
  1131. xm_shlc: "",//审核流程
  1132. dept_id: "",//部门id
  1133. }
  1134. }
  1135. xmsq_edit(transObj).then(res => {
  1136. this.loading = false;
  1137. if (res.code == 1) {
  1138. this.$message({
  1139. message: res.msg,
  1140. type: "success",
  1141. });
  1142. this.dialogFormVisible = false;
  1143. this.getListData();
  1144. } else {
  1145. this.$message({
  1146. message: res.msg,
  1147. type: "error",
  1148. });
  1149. }
  1150. })
  1151. }
  1152. }
  1153. })
  1154. },
  1155. //审核提交
  1156. addFormSubmitCheck(formName) {
  1157. this.$refs[formName].validate((valid) => {
  1158. if (valid) {
  1159. let transObj = {
  1160. sh_id: this.checkID,
  1161. sh_status: this.dialogForm_check.shjg,
  1162. sh_reason: this.dialogForm_check.clyj,
  1163. }
  1164. xmsq_edit(transObj)
  1165. .then(res => {
  1166. if (res.code == "1") {
  1167. this.$message({
  1168. message: res.msg,
  1169. type: 'success'
  1170. });
  1171. this.initMyApply();
  1172. this.dialogFormVisible_check = false;
  1173. } else {
  1174. this.$message({
  1175. message: res.msg,
  1176. type: 'error'
  1177. });
  1178. }
  1179. })
  1180. .catch(err => {
  1181. console.log(err)
  1182. })
  1183. }
  1184. })
  1185. },
  1186. //翻页
  1187. handleCurrentChange(val) {
  1188. this.cur_page = val;
  1189. this.getListData();
  1190. },
  1191. //点击科室找流程
  1192. KsLinkLc(val) {
  1193. let transObjs = {
  1194. limit:999,
  1195. public:1,
  1196. lc_status: 1,
  1197. lc_yydx:val.value,
  1198. lc_yydx_name:val.label,
  1199. }
  1200. gwglLcgl_List(transObjs)
  1201. .then(res => {
  1202. let singleData = res.data.page_data;
  1203. this.lcglLIST = [];
  1204. singleData.forEach(item => {
  1205. this.lcglLIST.push({
  1206. label: item.lc_name,
  1207. value: item.lc_id
  1208. })
  1209. })
  1210. })
  1211. .catch(err => { console.log(err) });
  1212. },
  1213. //防抖函数
  1214. debounce(fn, delay) {
  1215. let timer = null;
  1216. return function() {
  1217. clearTimeout(timer);
  1218. timer = setTimeout(() => {
  1219. fn.apply(this, arguments);
  1220. }, delay);
  1221. }
  1222. }
  1223. },
  1224. };
  1225. </script>
  1226. <style scoped>
  1227. @import url("@/styles/documentOnlineRev.scss");
  1228. .red {
  1229. color: red;
  1230. }
  1231. .blue {
  1232. color: #4351FF;
  1233. }
  1234. .green{
  1235. color:green;
  1236. }
  1237. .onlineShow{
  1238. min-height:400px;
  1239. }
  1240. </style>