backwardtabke.vue 54 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085
  1. <template>
  2. <div>
  3. <div class="backward-all">
  4. <div class="backward-head">
  5. <div class="backward-head-li">
  6. <label>团组名称:</label>
  7. <el-select @change="changegroup" style="width:250px" v-model="value" filterable :filter-method="advancedFilter"
  8. placeholder="请选择">
  9. <el-option v-for="item in filteredOptions" :key="item.id" :label="item.teamName" :value="item.id">
  10. </el-option>
  11. </el-select>
  12. </div>
  13. <div class="backward-head-li">
  14. <span style="color: red;"><spu>*</spu>会务倒退表没有预览直接下载即可</span>
  15. <el-button @click="InforRetrogressTableFileDownload" type="primary">导出会务倒退表</el-button>
  16. <el-button @click="PostInvertedListCreate" type="primary">生成倒推表</el-button>
  17. <el-button @click="PostInvertedListUpdate" type="primary">保 存</el-button>
  18. <el-button @click="PostInvertedListFileDownload" type="primary">导出倒推表</el-button>
  19. <el-button @click="PostInvertedListClientFileDownload" type="primary">导出倒推表(客户)</el-button>
  20. </div>
  21. </div>
  22. <div class="backward-title">
  23. <div class="backward-title-yi">{{groupinfo.teamName}}团出行准备流程表</div>
  24. <div class="backward-title-er">
  25. 出访国家:{{groupinfo.visitCountry}}&nbsp;&nbsp;&nbsp;&nbsp;出访时间:{{groupinfo.visitStartDate|capitalize}}</div>
  26. </div>
  27. <div class="backward-table">
  28. <div class="backward-table-li">
  29. <div class="backward-li-span">
  30. <el-checkbox v-model="datainfo.isSelectedAirportd"></el-checkbox>
  31. </div>
  32. <div class="backward-li-span">
  33. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.approvalDataDt" type="date" placeholder="选择日期">
  34. </el-date-picker>
  35. </div>
  36. <div class="backward-li-span">
  37. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_ApprovalDataDt" type="date" placeholder="选择日期">
  38. </el-date-picker>
  39. </div>
  40. <div class="backward-li-span">报批资料准备</div>
  41. <div class="backward-li-span">
  42. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  43. v-model="datainfo.approvalDataRemark">
  44. </el-input>
  45. </div>
  46. </div>
  47. <div class="backward-table-li">
  48. <div class="backward-li-span">
  49. <el-checkbox v-model="datainfo.isSelectedApprovalData"></el-checkbox>
  50. </div>
  51. <div class="backward-li-span">
  52. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.approvalDt" type="date" placeholder="选择日期">
  53. </el-date-picker>
  54. </div>
  55. <div class="backward-li-span">
  56. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_ApprovalDt" type="date" placeholder="选择日期">
  57. </el-date-picker>
  58. </div>
  59. <div class="backward-li-span">
  60. <div style="line-height: 25px;">
  61. 报批/提供送签资料
  62. </div>
  63. <div style="line-height: 25px;">
  64. <el-radio v-model="datainfo.approvalType" label="1">预批件</el-radio>
  65. <el-radio v-model="datainfo.approvalType" label="2">正常批件</el-radio>
  66. </div>
  67. </div>
  68. <div class="backward-li-span">
  69. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  70. v-model="datainfo.approvalRemark">
  71. </el-input>
  72. </div>
  73. </div>
  74. <div class="backward-table-li">
  75. <div class="backward-li-span">
  76. <el-checkbox v-model="datainfo.isSelectedIssueApproval"></el-checkbox>
  77. </div>
  78. <div class="backward-li-span">
  79. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.issueApprovalDt" type="date" placeholder="选择日期">
  80. </el-date-picker>
  81. </div>
  82. <div class="backward-li-span">
  83. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_IssueApprovalDt" type="date" placeholder="选择日期">
  84. </el-date-picker>
  85. </div>
  86. <div class="backward-li-span"><div style="line-height: 25px;padding: 0;">出批件</div><div style="line-height: 25px;padding: 0;">护照办理</div></div>
  87. <div class="backward-li-span">
  88. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  89. v-model="datainfo.issueApprovalRemark">
  90. </el-input>
  91. </div>
  92. </div>
  93. <!-- <div class="backward-table-li">
  94. <div class="backward-li-span">
  95. <el-date-picker v-model="datainfo.applyPassportDt" type="date" placeholder="选择日期">
  96. </el-date-picker>
  97. </div>
  98. <div class="backward-li-span">护照办理</div>
  99. <div class="backward-li-span">
  100. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  101. v-model="datainfo.applyPassportRemark">
  102. </el-input>
  103. </div>
  104. </div> -->
  105. <div class="backward-table-li">
  106. <div class="backward-li-span">
  107. <el-checkbox v-model="datainfo.isSelectedVisaInfo"></el-checkbox>
  108. </div>
  109. <div class="backward-li-span">
  110. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.visaInformationDt" type="date" placeholder="选择日期">
  111. </el-date-picker>
  112. </div>
  113. <div class="backward-li-span">
  114. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_VisaInformationDt" type="date" placeholder="选择日期">
  115. </el-date-picker>
  116. </div>
  117. <div class="backward-li-span">签证资料准备</div>
  118. <div class="backward-li-span">
  119. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  120. v-model="datainfo.visaInformationRemark">
  121. </el-input>
  122. </div>
  123. </div>
  124. <div class="backward-table-li">
  125. <div class="backward-li-span">
  126. <el-checkbox v-model="datainfo.isSelectedSendVisa"></el-checkbox>
  127. </div>
  128. <div class="backward-li-span">
  129. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.sendVisaDt" type="date" placeholder="选择日期">
  130. </el-date-picker>
  131. </div>
  132. <div class="backward-li-span">
  133. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_SendVisaDt" type="date" placeholder="选择日期">
  134. </el-date-picker>
  135. </div>
  136. <div class="backward-li-span">送签签证</div>
  137. <div class="backward-li-span">
  138. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  139. v-model="datainfo.sendVisaRemark">
  140. </el-input>
  141. </div>
  142. </div>
  143. <div class="backward-table-li">
  144. <div class="backward-li-span">
  145. <!-- <el-checkbox v-model="isSelectedAirportd"></el-checkbox> -->
  146. </div>
  147. <div class="backward-li-span">
  148. 送签国家选择:
  149. </div>
  150. <div class="backward-li-span"></div>
  151. <div class="backward-li-span"></div>
  152. <div class="backward-li-span">
  153. <el-table :data="datainfo.visaCountryData" border style="width: 100%">
  154. <el-table-column prop="country" label="国家">
  155. <template slot-scope="scope">
  156. <el-input v-model="scope.row.country" placeholder="请输入内容"></el-input>
  157. </template>
  158. </el-table-column>
  159. <el-table-column prop="officialTypeId" label="公务类型" width="150">
  160. <template slot-scope="scope">
  161. <el-select style="width:100%" v-model="scope.row.officialTypeId" clearable placeholder="请选择"
  162. @change="filterStatus(value)">
  163. <el-option v-for="item in officialTypeData" :key="item.id" :label="item.name"
  164. :value="item.id">
  165. </el-option>
  166. </el-select>
  167. </template>
  168. </el-table-column>
  169. <el-table-column prop="visaTypeId" label="签证类型" width="150">
  170. <template slot-scope="scope">
  171. <el-select style="width:100%" v-model="scope.row.visaTypeId" clearable placeholder="请选择"
  172. @change="filterStatus(value)">
  173. <el-option v-for="item in visaTypeData" :key="item.id" :label="item.name"
  174. :value="item.id">
  175. </el-option>
  176. </el-select>
  177. </template>
  178. </el-table-column>
  179. <el-table-column prop="visaDay" label="签证时间" width="150">
  180. <template slot-scope="scope">
  181. <el-input-number style="width:100%" :min="1" :precision="0" placeholder="数量" v-model="scope.row.visaDay" :controls='false'>
  182. </el-input-number>
  183. </template>
  184. </el-table-column>
  185. </el-table>
  186. </div>
  187. </div>
  188. <div class="backward-table-li">
  189. <div class="backward-li-span">
  190. <el-checkbox v-model="datainfo.isSelectedIssueVisa"></el-checkbox>
  191. </div>
  192. <div class="backward-li-span">
  193. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.issueVisaDt" type="date" placeholder="选择日期">
  194. </el-date-picker>
  195. </div>
  196. <div class="backward-li-span">
  197. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_IssueVisaDt" type="date" placeholder="选择日期">
  198. </el-date-picker>
  199. </div>
  200. <div class="backward-li-span">出签</div>
  201. <div class="backward-li-span">
  202. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  203. v-model="datainfo.issueVisaRemark">
  204. </el-input>
  205. </div>
  206. </div>
  207. <div class="backward-table-li">
  208. <div class="backward-li-span">
  209. <el-checkbox v-model="datainfo.isSelectedAirTicket"></el-checkbox>
  210. </div>
  211. <div class="backward-li-span">
  212. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.airTicketDt" type="date" placeholder="选择日期">
  213. </el-date-picker>
  214. </div>
  215. <div class="backward-li-span">
  216. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_AirTicketDt" type="date" placeholder="选择日期">
  217. </el-date-picker>
  218. </div>
  219. <div class="backward-li-span">机票</div>
  220. <div class="backward-li-span">
  221. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  222. v-model="datainfo.airTicketRemark">
  223. </el-input>
  224. </div>
  225. </div>
  226. <div class="backward-table-li">
  227. <div class="backward-li-span">
  228. <el-checkbox v-model="datainfo.isSelectedHotel"></el-checkbox>
  229. </div>
  230. <div class="backward-li-span">
  231. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.hotelDt" type="date" placeholder="选择日期">
  232. </el-date-picker>
  233. </div>
  234. <div class="backward-li-span">
  235. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_HotelDt" type="date" placeholder="选择日期">
  236. </el-date-picker>
  237. </div>
  238. <div class="backward-li-span">酒店</div>
  239. <div class="backward-li-span">
  240. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  241. v-model="datainfo.hotelRemark">
  242. </el-input>
  243. </div>
  244. </div>
  245. <div class="backward-table-li">
  246. <div class="backward-li-span">
  247. <el-checkbox v-model="datainfo.isSelectedPreTripMeeting"></el-checkbox>
  248. </div>
  249. <div class="backward-li-span">
  250. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.preTripMeetingDt" type="date" placeholder="选择日期">
  251. </el-date-picker>
  252. </div>
  253. <div class="backward-li-span">
  254. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_PreTripMeetingDt" type="date" placeholder="选择日期">
  255. </el-date-picker>
  256. </div>
  257. <div class="backward-li-span">开行前会</div>
  258. <div class="backward-li-span">
  259. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  260. v-model="datainfo.preTripMeetingRemark">
  261. </el-input>
  262. </div>
  263. </div>
  264. <div class="backward-table-li">
  265. <div class="backward-li-span">
  266. <el-checkbox v-model="datainfo.isSelectedAirportdDropOff"></el-checkbox>
  267. </div>
  268. <div class="backward-li-span">
  269. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.airportdDropOffDt" type="date" placeholder="选择日期">
  270. </el-date-picker>
  271. </div>
  272. <div class="backward-li-span">
  273. <el-date-picker value-format="yyyy-MM-dd" v-model="datainfo.client_AirportdDropOffDt" type="date" placeholder="选择日期">
  274. </el-date-picker>
  275. </div>
  276. <div class="backward-li-span">送机</div>
  277. <div class="backward-li-span">
  278. <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 2}" placeholder="请输入内容"
  279. v-model="datainfo.airportdDropOffRemark">
  280. </el-input>
  281. </div>
  282. </div>
  283. </div>
  284. </div>
  285. </div>
  286. </template>
  287. <script>
  288. export default {
  289. data () {
  290. return {
  291. userId:'',
  292. token:'',
  293. value:'',
  294. options:[],
  295. filteredOptions: [],
  296. searchMode: 'character', // 'character': 字符匹配, 'fuzzy': 模糊匹配
  297. groupinfo:{},
  298. value1:'',
  299. radio:'1',
  300. datainfo:{
  301. airportdDropOffDt:'',//送机 - A
  302. airportdDropOffRemark:'',//送机 备注
  303. applyPassportDt:'',//办护照时间 - B
  304. applyPassportRemark:'',//办护照 备注
  305. approvalDataDt:'',//报批资料准备时间 - A
  306. approvalDataRemark:'',//报批资料准备 备注
  307. approvalDt:'',//报批时间 - A
  308. approvalRemark:'',//报批 备注
  309. approvalType:0,//报批时间 1 预批件 2 正常批件 默认值??-1
  310. diId:0,
  311. id:0,
  312. isAirportdDropOff:0,//送机 是否完成
  313. isApplyPassport:0,//办护照 是否完成
  314. isApproval:0,//报批 是否完成
  315. isApprovalData:0,//报批资料准备 是否完成
  316. isIssueApproval:0,//出批件 是否完成
  317. isIssueVisa:0,//出签 是否完成
  318. isPreTripMeeting:0,//行前会 是否完成
  319. isQuery:false,//查询标识 true 需提醒客户该团未创建倒推表
  320. isSendVisa:0,//送签 是否完成
  321. isVisaInformation:0,//签证资料准备 是否完成
  322. issueApprovalDt:'',//出批件时间 - A
  323. issueApprovalRemark:'',//出批件时间 备注
  324. issueVisaDt:'',//出签时间 - B
  325. issueVisaRemark:'',//出签 备注
  326. airTicketDt:'',//机票 - B
  327. isAirTicket:0,//机票 是否完成
  328. airTicketRemark:'',//机票 备注
  329. hotelDt:'',//酒店 - B
  330. isHotel:0,//酒店 是否完成
  331. hotelRemark:'',//酒店 备注
  332. isSelectedAirportd:0,//报批资料准备
  333. isSelectedApprovalData:0,//报批/提供送签资料 是否选中
  334. isSelectedIssueApproval:0,//出批件 是否选中
  335. isSelectedVisaInfo:0,//签证资料准备 是否选中
  336. isSelectedSendVisa:0,//送签签证 是否选中
  337. isSelectedIssueVisa:0,//出签 是否选中
  338. isSelectedAirTicket:0,//机票 是否选中
  339. isSelectedHotel:0,//酒店 是否选中
  340. isSelectedPreTripMeeting:0,//行前会 是否选中
  341. isSelectedAirportdDropOff:0,//送机 是否选中
  342. preTripMeetingDt:'',//行前会 - A
  343. preTripMeetingRemark:'',//行前会 备注
  344. sendVisaDt:'',//送签时间 - B
  345. sendVisaRemark:'',//送签 备注
  346. visaCountryData:[],
  347. visaInformationDt:'',//签证资料准备时间
  348. visaInformationRemark:'',//签证资料准备 备注
  349. client_ApprovalDataDt:'',//报批资料准备时间(客户) - A
  350. client_ApprovalDt:'',//报批时间(客户) - A
  351. client_IssueApprovalDt:'',//出批件时间(客户) - A
  352. client_VisaInformationDt:'',//签证资料准备时间(客户)
  353. client_SendVisaDt:'',//送签时间(客户) - B
  354. client_IssueVisaDt:'',//出签时间(客户) - B
  355. client_AirTicketDt:'',//机票(客户) - B
  356. client_HotelDt:'',//酒店(客户) - B
  357. client_PreTripMeetingDt:'',//行前会(客户) - A
  358. client_AirportdDropOffDt:'',//送机(客户) - A
  359. },
  360. officialTypeData:[],
  361. visaTypeData:[],
  362. }
  363. },
  364. methods:{
  365. advancedFilter(query) {
  366. if (!query || query.trim() === '') {
  367. this.filteredOptions = [...this.options];
  368. return;
  369. }
  370. const trimmedQuery = query.trim();
  371. if (this.searchMode === 'character') {
  372. // 字符匹配模式:每个字都必须包含
  373. this.characterMatchFilter(trimmedQuery);
  374. } else {
  375. // 模糊匹配模式(默认的filterable行为)
  376. this.fuzzyMatchFilter(trimmedQuery);
  377. }
  378. },
  379. /*** 严格的字符匹配 - 每个查询字符都必须出现*/
  380. characterMatchFilter(query) {
  381. const queryChars = query.split('').filter(char => char.trim() !== '');
  382. this.filteredOptions = this.options.filter(item => {
  383. const groupName = item.teamName || '';
  384. return queryChars.every(char => groupName.includes(char));
  385. });
  386. },
  387. /*** 模糊匹配 - 包含整个查询字符串即可*/
  388. fuzzyMatchFilter(query) {
  389. const lowerQuery = query.toLowerCase();
  390. this.filteredOptions = this.options.filter(item => {
  391. const groupName = (item.teamName || '').toLowerCase();
  392. return groupName.includes(lowerQuery);
  393. });
  394. },
  395. //获取团组list
  396. GetGroupNameList() {
  397. var url = "/api/Groups/PostInvertedListInit"
  398. var that = this
  399. this.$axios({
  400. method: 'post',
  401. url: url,
  402. headers: {
  403. Authorization: 'Bearer ' + this.token
  404. },
  405. data: {
  406. portType: 1
  407. }
  408. }).then(function (res) {
  409. if (res.data.code == 200) {
  410. that.options=res.data.data.groupData;
  411. that.filteredOptions= that.options;
  412. console.log(that.filteredOptions);
  413. that.value=that.options[0].id;
  414. that.officialTypeData=res.data.data.officialTypeData;
  415. that.visaTypeData=res.data.data.visaTypeData;
  416. that.officialTypeData.push({id:-1,name:'未选择'});
  417. that.visaTypeData.push({id:-1,name:'未选择'});
  418. that.PostShareGroupInfo();
  419. that.PostInvertedListInfo();
  420. }else{
  421. that.$message.error(res.data.msg);
  422. }
  423. }).catch(function (error) {
  424. that.$message.error(error);
  425. });
  426. },
  427. //获取团组倒推表
  428. PostInvertedListInfo() {
  429. var url = "/api/Groups/PostInvertedListInfo"
  430. var that = this
  431. this.$axios({
  432. method: 'post',
  433. url: url,
  434. headers: {
  435. Authorization: 'Bearer ' + that.token
  436. },
  437. data: {
  438. portType: 1,
  439. diId: that.value
  440. }
  441. }).then(function (res) {
  442. if (res.data.code == 200) {
  443. that.datainfo.airportdDropOffDt=res.data.data.airportdDropOffDt;
  444. that.datainfo.airportdDropOffRemark=res.data.data.airportdDropOffRemark;
  445. that.datainfo.applyPassportDt=res.data.data.applyPassportDt;
  446. that.datainfo.applyPassportRemark=res.data.data.applyPassportRemark;
  447. that.datainfo.approvalDataDt=res.data.data.approvalDataDt;
  448. that.datainfo.approvalDataRemark=res.data.data.approvalDataRemark;
  449. that.datainfo.approvalDt=res.data.data.approvalDt;
  450. that.datainfo.approvalRemark=res.data.data.approvalRemark;
  451. that.datainfo.approvalType=res.data.data.approvalType+'';
  452. that.datainfo.diId=res.data.data.diId;
  453. that.datainfo.id=res.data.data.id;
  454. that.datainfo.isAirportdDropOff=res.data.data.isAirportdDropOff;
  455. that.datainfo.isApplyPassport=res.data.data.isApplyPassport;
  456. that.datainfo.isApproval=res.data.data.isApproval;
  457. that.datainfo.isApprovalData=res.data.data.isApprovalData;
  458. that.datainfo.isIssueApproval=res.data.data.isIssueApproval;
  459. that.datainfo.isIssueVisa=res.data.data.isIssueVisa;
  460. that.datainfo.isPreTripMeeting=res.data.data.isPreTripMeeting;
  461. that.datainfo.isQuery=res.data.data.isQuery;
  462. that.datainfo.isSendVisa=res.data.data.isSendVisa;
  463. that.datainfo.isVisaInformation=res.data.data.isVisaInformation;
  464. that.datainfo.issueApprovalDt=res.data.data.issueApprovalDt;
  465. that.datainfo.issueApprovalRemark=res.data.data.issueApprovalRemark;
  466. that.datainfo.issueVisaDt=res.data.data.issueVisaDt;
  467. that.datainfo.issueVisaRemark=res.data.data.issueVisaRemark;
  468. that.datainfo.airTicketDt=res.data.data.airTicketDt;
  469. that.datainfo.isAirTicket=res.data.data.isAirTicket;
  470. that.datainfo.airTicketRemark=res.data.data.airTicketRemark;
  471. that.datainfo.hotelDt=res.data.data.hotelDt;
  472. that.datainfo.isHotel=res.data.data.isHotel;
  473. that.datainfo.hotelRemark=res.data.data.hotelRemark;
  474. that.datainfo.isSelectedAirportd=res.data.data.isSelectedAirportd;
  475. that.datainfo.isSelectedApprovalData=res.data.data.isSelectedApprovalData;
  476. that.datainfo.isSelectedIssueApproval=res.data.data.isSelectedIssueApproval;
  477. that.datainfo.isSelectedVisaInfo=res.data.data.isSelectedVisaInfo;
  478. that.datainfo.isSelectedSendVisa=res.data.data.isSelectedSendVisa;
  479. that.datainfo.isSelectedIssueVisa=res.data.data.isSelectedIssueVisa;
  480. that.datainfo.isSelectedAirTicket=res.data.data.isSelectedAirTicket;
  481. that.datainfo.isSelectedHotel=res.data.data.isSelectedHotel;
  482. that.datainfo.isSelectedPreTripMeeting=res.data.data.isSelectedPreTripMeeting;
  483. that.datainfo.isSelectedAirportdDropOff=res.data.data.isSelectedAirportdDropOff;
  484. that.datainfo.preTripMeetingDt=res.data.data.preTripMeetingDt;
  485. that.datainfo.preTripMeetingRemark=res.data.data.preTripMeetingRemark
  486. that.datainfo.sendVisaDt=res.data.data.sendVisaDt;
  487. that.datainfo.sendVisaRemark=res.data.data.sendVisaRemark;
  488. that.datainfo.visaCountryData=res.data.data.visaCountryData;
  489. that.datainfo.visaInformationDt=res.data.data.visaInformationDt;
  490. that.datainfo.visaInformationRemark=res.data.data.visaInformationRemark;
  491. that.datainfo.client_ApprovalDataDt=res.data.data.client_ApprovalDataDt;
  492. that.datainfo.client_ApprovalDt=res.data.data.client_ApprovalDt;
  493. that.datainfo.client_IssueApprovalDt=res.data.data.client_IssueApprovalDt;
  494. that.datainfo.client_VisaInformationDt=res.data.data.client_VisaInformationDt;
  495. that.datainfo.client_SendVisaDt=res.data.data.client_SendVisaDt;
  496. that.datainfo.client_IssueVisaDt=res.data.data.client_IssueVisaDt;
  497. that.datainfo.client_AirTicketDt=res.data.data.client_AirTicketDt;
  498. that.datainfo.client_HotelDt=res.data.data.client_HotelDt;
  499. that.datainfo.client_PreTripMeetingDt=res.data.data.client_PreTripMeetingDt;
  500. that.datainfo.client_AirportdDropOffDt=res.data.data.client_AirportdDropOffDt;
  501. if(that.datainfo.isQuery==true){
  502. that.PostInvertedListCreate()
  503. // that.$notify({
  504. // title: '提示',
  505. // message: '暂无签证费用信息!',
  506. // duration: 0
  507. // });
  508. }
  509. }else{
  510. that.$message.error(res.data.msg);
  511. }
  512. }).catch(function (error) {
  513. that.$message.error(error);
  514. });
  515. },
  516. //数据初始化
  517. datacsh(){
  518. this.datainfo={
  519. airportdDropOffDt:'',//送机 - A
  520. airportdDropOffRemark:'',//送机 备注
  521. applyPassportDt:'',//办护照时间 - B
  522. applyPassportRemark:'',//办护照 备注
  523. approvalDataDt:'',//报批资料准备时间 - A
  524. approvalDataRemark:'',//报批资料准备 备注
  525. approvalDt:'',//报批时间 - A
  526. approvalRemark:'',//报批 备注
  527. approvalType:0,//报批时间 1 预批件 2 正常批件 默认值??-1
  528. diId:0,
  529. id:0,
  530. isAirportdDropOff:0,//送机 是否完成
  531. isApplyPassport:0,//办护照 是否完成
  532. isApproval:0,//报批 是否完成
  533. isApprovalData:0,//报批资料准备 是否完成
  534. isIssueApproval:0,//出批件 是否完成
  535. isIssueVisa:0,//出签 是否完成
  536. airTicketDt:'',//机票 - B
  537. isAirTicket:0,//机票 是否完成
  538. airTicketRemark:'',//机票 备注
  539. hotelDt:'',//酒店 - B
  540. isHotel:0,//酒店 是否完成
  541. hotelRemark:'',//酒店 备注
  542. isSelectedAirportd:0,//送机 是否选中
  543. isSelectedApprovalData:0,//报批/提供送签资料 是否选中
  544. isSelectedIssueApproval:0,//出批件 是否选中
  545. isSelectedVisaInfo:0,//签证资料准备 是否选中
  546. isSelectedSendVisa:0,//送签签证 是否选中
  547. isSelectedIssueVisa:0,//出签 是否选中
  548. isSelectedAirTicket:0,//机票 是否选中
  549. isSelectedHotel:0,//酒店 是否选中
  550. isSelectedPreTripMeeting:0,//行前会 是否选中
  551. isSelectedAirportdDropOff:0,//送机 是否选中
  552. isPreTripMeeting:0,//行前会 是否完成
  553. isQuery:false,//查询标识 true 需提醒客户该团未创建倒推表
  554. isSendVisa:0,//送签 是否完成
  555. isVisaInformation:0,//签证资料准备 是否完成
  556. issueApprovalDt:'',//出批件时间 - A
  557. issueApprovalRemark:'',//出批件时间 备注
  558. issueVisaDt:'',//出签时间 - B
  559. issueVisaRemark:'',//出签 备注
  560. preTripMeetingDt:'',//行前会 - A
  561. preTripMeetingRemark:'',//行前会 备注
  562. sendVisaDt:'',//送签时间 - B
  563. sendVisaRemark:'',//送签 备注
  564. visaCountryData:[],
  565. visaInformationDt:'',//签证资料准备时间
  566. visaInformationRemark:'',//签证资料准备 备注
  567. client_ApprovalDataDt:'',//
  568. client_ApprovalDt:'',//
  569. client_IssueApprovalDt:'',//
  570. client_VisaInformationDt:'',//
  571. client_SendVisaDt:'',//
  572. client_IssueVisaDt:'',//
  573. client_AirTicketDt:'',//
  574. client_HotelDt:'',//
  575. client_PreTripMeetingDt:'',//
  576. client_AirportdDropOffDt:'',//
  577. }
  578. },
  579. //获取团组info
  580. PostShareGroupInfo() {
  581. var url = "/api/Business/PostShareGroupInfo"
  582. var that = this
  583. this.$axios({
  584. method: 'post',
  585. url: url,
  586. headers: {
  587. Authorization: 'Bearer ' + this.token
  588. },
  589. data: {
  590. portType: 1,
  591. id: that.value,
  592. }
  593. }).then(function (res) {
  594. if (res.data.code == 200) {
  595. that.groupinfo=res.data.data;
  596. }else{
  597. that.$message.error(res.data.msg);
  598. }
  599. }).catch(function (error) {
  600. that.$message.error(error);
  601. });
  602. },
  603. //团组切换
  604. changegroup(){
  605. this.datacsh();
  606. this.PostShareGroupInfo();
  607. this.PostInvertedListInfo();
  608. },
  609. //生成会务倒推表
  610. InforRetrogressTableFileDownload() {
  611. var url = "/api/Groups/InforRetrogressTableFileDownload"
  612. var that = this
  613. this.$axios({
  614. method: 'post',
  615. url: url,
  616. headers: {
  617. Authorization: 'Bearer ' + this.token
  618. },
  619. data: {
  620. groupId:that.value,
  621. currUserId: that.userId
  622. }
  623. }).then(function (res) {
  624. if (res.data.code == 200) {
  625. that.$message({
  626. message:res.data.msg ,
  627. type: 'success',
  628. offset:50
  629. });
  630. window.open(res.data.data.url)
  631. }else{
  632. that.$message.error(res.data.msg);
  633. }
  634. }).catch(function (error) {
  635. that.$message.error(error);
  636. });
  637. },
  638. //生成倒推表
  639. PostInvertedListCreate() {
  640. var url = "/api/Groups/PostInvertedListCreate"
  641. var that = this
  642. this.$axios({
  643. method: 'post',
  644. url: url,
  645. headers: {
  646. Authorization: 'Bearer ' + this.token
  647. },
  648. data: {
  649. portType: 1,
  650. diId: that.value
  651. }
  652. }).then(function (res) {
  653. if (res.data.code == 200) {
  654. that.$message({
  655. message:res.data.msg ,
  656. type: 'success',
  657. offset:50
  658. });
  659. that.PostInvertedListInfo();
  660. }else{
  661. that.$message.error(res.data.msg);
  662. }
  663. }).catch(function (error) {
  664. that.$message.error(error);
  665. });
  666. },
  667. //保存
  668. PostInvertedListUpdate() {
  669. var that = this
  670. var url = "/api/Groups/PostInvertedListUpdate"
  671. this.$axios({
  672. method: 'post',
  673. url: url,
  674. headers: {
  675. Authorization: 'Bearer ' + this.token
  676. },
  677. data: {
  678. portType: 1,
  679. isQuery:that.datainfo.isQuery,
  680. id: that.datainfo.id,
  681. diId: that.datainfo.diId,
  682. approvalDataDt: that.datainfo.approvalDataDt,
  683. isApprovalData: that.datainfo.isApprovalData,
  684. approvalDataRemark: that.datainfo.approvalDataRemark,
  685. approvalDt: that.datainfo.approvalDt,
  686. approvalType: that.datainfo.approvalType,
  687. isApproval: that.datainfo.isApproval,
  688. approvalRemark: that.datainfo.approvalRemark,
  689. issueApprovalDt: that.datainfo.issueApprovalDt,
  690. isIssueApproval: that.datainfo.isIssueApproval,
  691. issueApprovalRemark: that.datainfo.issueApprovalRemark,
  692. applyPassportDt: that.datainfo.applyPassportDt,
  693. isApplyPassport: that.datainfo.isApplyPassport,
  694. applyPassportRemark: that.datainfo.applyPassportRemark,
  695. visaInformationDt: that.datainfo.visaInformationDt,
  696. isVisaInformation: that.datainfo.isVisaInformation,
  697. visaInformationRemark: that.datainfo.visaInformationRemark,
  698. visaCountryData: that.datainfo.visaCountryData,
  699. sendVisaDt: that.datainfo.sendVisaDt,
  700. isSendVisa: that.datainfo.isSendVisa,
  701. sendVisaRemark: that.datainfo.sendVisaRemark,
  702. issueVisaDt: that.datainfo.issueVisaDt,
  703. isIssueVisa: that.datainfo.isIssueVisa,
  704. issueVisaRemark: that.datainfo.issueVisaRemark,
  705. airTicketDt: that.datainfo.airTicketDt,
  706. isAirTicket: that.datainfo.isAirTicket,
  707. airTicketRemark: that.datainfo.airTicketRemark,
  708. hotelDt: that.datainfo.hotelDt,
  709. isHotel: that.datainfo.isHotel,
  710. hotelRemark: that.datainfo.hotelRemark,
  711. isSelectedAirportd: that.datainfo.isSelectedAirportd,
  712. isSelectedApprovalData: that.datainfo.isSelectedApprovalData,
  713. isSelectedIssueApproval: that.datainfo.isSelectedIssueApproval,
  714. isSelectedVisaInfo: that.datainfo.isSelectedVisaInfo,
  715. isSelectedSendVisa: that.datainfo.isSelectedSendVisa,
  716. isSelectedIssueVisa: that.datainfo.isSelectedIssueVisa,
  717. isSelectedAirTicket: that.datainfo.isSelectedAirTicket,
  718. isSelectedHotel: that.datainfo.isSelectedHotel,
  719. isSelectedPreTripMeeting: that.datainfo.isSelectedPreTripMeeting,
  720. isSelectedAirportdDropOff: that.datainfo.isSelectedAirportdDropOff,
  721. preTripMeetingDt: that.datainfo.preTripMeetingDt,
  722. isPreTripMeeting: that.datainfo.isPreTripMeeting,
  723. preTripMeetingRemark: that.datainfo.preTripMeetingRemark,
  724. airportdDropOffDt: that.datainfo.airportdDropOffDt,
  725. isAirportdDropOff: that.datainfo.isAirportdDropOff,
  726. airportdDropOffRemark: that.datainfo.airportdDropOffRemark,
  727. client_ApprovalDataDt: that.datainfo.client_ApprovalDataDt,
  728. client_ApprovalDt: that.datainfo.client_ApprovalDt,
  729. client_IssueApprovalDt: that.datainfo.client_IssueApprovalDt,
  730. client_VisaInformationDt: that.datainfo.client_VisaInformationDt,
  731. client_SendVisaDt: that.datainfo.client_SendVisaDt,
  732. client_IssueVisaDt: that.datainfo.client_IssueVisaDt,
  733. client_AirTicketDt: that.datainfo.client_AirTicketDt,
  734. client_HotelDt: that.datainfo.client_HotelDt,
  735. client_PreTripMeetingDt: that.datainfo.client_PreTripMeetingDt,
  736. client_AirportdDropOffDt: that.datainfo.client_AirportdDropOffDt,
  737. }
  738. }).then(function (res) {
  739. if (res.data.code == 200) {
  740. that.$message({
  741. message:res.data.msg ,
  742. type: 'success',
  743. offset:50
  744. });
  745. that.PostInvertedListInfo();
  746. }else{
  747. that.$message.error(res.data.msg);
  748. }
  749. }).catch(function (error) {
  750. that.$message.error(error);
  751. });
  752. },
  753. //导出倒推表
  754. PostInvertedListFileDownload() {
  755. var that = this
  756. var url = "/api/Groups/PostInvertedListUpdate"
  757. this.$axios({
  758. method: 'post',
  759. url: url,
  760. headers: {
  761. Authorization: 'Bearer ' + this.token
  762. },
  763. data: {
  764. portType: 1,
  765. isQuery:that.datainfo.isQuery,
  766. id: that.datainfo.id,
  767. diId: that.datainfo.diId,
  768. approvalDataDt: that.datainfo.approvalDataDt,
  769. isApprovalData: that.datainfo.isApprovalData,
  770. approvalDataRemark: that.datainfo.approvalDataRemark,
  771. approvalDt: that.datainfo.approvalDt,
  772. approvalType: that.datainfo.approvalType,
  773. isApproval: that.datainfo.isApproval,
  774. approvalRemark: that.datainfo.approvalRemark,
  775. issueApprovalDt: that.datainfo.issueApprovalDt,
  776. isIssueApproval: that.datainfo.isIssueApproval,
  777. issueApprovalRemark: that.datainfo.issueApprovalRemark,
  778. applyPassportDt: that.datainfo.applyPassportDt,
  779. isApplyPassport: that.datainfo.isApplyPassport,
  780. applyPassportRemark: that.datainfo.applyPassportRemark,
  781. visaInformationDt: that.datainfo.visaInformationDt,
  782. isVisaInformation: that.datainfo.isVisaInformation,
  783. visaInformationRemark: that.datainfo.visaInformationRemark,
  784. visaCountryData: that.datainfo.visaCountryData,
  785. sendVisaDt: that.datainfo.sendVisaDt,
  786. isSendVisa: that.datainfo.isSendVisa,
  787. sendVisaRemark: that.datainfo.sendVisaRemark,
  788. issueVisaDt: that.datainfo.issueVisaDt,
  789. isIssueVisa: that.datainfo.isIssueVisa,
  790. issueVisaRemark: that.datainfo.issueVisaRemark,
  791. airTicketDt: that.datainfo.airTicketDt,
  792. isAirTicket: that.datainfo.isAirTicket,
  793. airTicketRemark: that.datainfo.airTicketRemark,
  794. hotelDt: that.datainfo.hotelDt,
  795. isHotel: that.datainfo.isHotel,
  796. hotelRemark: that.datainfo.hotelRemark,
  797. isSelectedAirportd: that.datainfo.isSelectedAirportd,
  798. isSelectedApprovalData: that.datainfo.isSelectedApprovalData,
  799. isSelectedIssueApproval: that.datainfo.isSelectedIssueApproval,
  800. isSelectedVisaInfo: that.datainfo.isSelectedVisaInfo,
  801. isSelectedSendVisa: that.datainfo.isSelectedSendVisa,
  802. isSelectedIssueVisa: that.datainfo.isSelectedIssueVisa,
  803. isSelectedAirTicket: that.datainfo.isSelectedAirTicket,
  804. isSelectedHotel: that.datainfo.isSelectedHotel,
  805. isSelectedPreTripMeeting: that.datainfo.isSelectedPreTripMeeting,
  806. isSelectedAirportdDropOff: that.datainfo.isSelectedAirportdDropOff,
  807. preTripMeetingDt: that.datainfo.preTripMeetingDt,
  808. isPreTripMeeting: that.datainfo.isPreTripMeeting,
  809. preTripMeetingRemark: that.datainfo.preTripMeetingRemark,
  810. airportdDropOffDt: that.datainfo.airportdDropOffDt,
  811. isAirportdDropOff: that.datainfo.isAirportdDropOff,
  812. airportdDropOffRemark: that.datainfo.airportdDropOffRemark,
  813. client_ApprovalDataDt: that.datainfo.client_ApprovalDataDt,
  814. client_ApprovalDt: that.datainfo.client_ApprovalDt,
  815. client_IssueApprovalDt: that.datainfo.client_IssueApprovalDt,
  816. client_VisaInformationDt: that.datainfo.client_VisaInformationDt,
  817. client_SendVisaDt: that.datainfo.client_SendVisaDt,
  818. client_IssueVisaDt: that.datainfo.client_IssueVisaDt,
  819. client_AirTicketDt: that.datainfo.client_AirTicketDt,
  820. client_HotelDt: that.datainfo.client_HotelDt,
  821. client_PreTripMeetingDt: that.datainfo.client_PreTripMeetingDt,
  822. client_AirportdDropOffDt: that.datainfo.client_AirportdDropOffDt,
  823. }
  824. }).then(function (res) {
  825. if (res.data.code == 200) {
  826. that.$message({
  827. message:res.data.msg ,
  828. type: 'success',
  829. offset:50
  830. });
  831. that.PostInvertedListInfo();
  832. var urls = "/api/Groups/PostInvertedListFileDownload"
  833. that.$axios({
  834. method: 'post',
  835. url: urls,
  836. headers: {
  837. Authorization: 'Bearer ' + that.token
  838. },
  839. data: {
  840. portType: 1,
  841. diId: that.value
  842. }
  843. }).then(function (res) {
  844. if (res.data.code == 200) {
  845. that.$message({
  846. message:res.data.msg ,
  847. type: 'success',
  848. offset:50
  849. });
  850. window.open(res.data.data);
  851. }else{
  852. that.$message.error(res.data.msg);
  853. }
  854. }).catch(function (error) {
  855. that.$message.error(error);
  856. });
  857. }else{
  858. that.$message.error(res.data.msg);
  859. }
  860. }).catch(function (error) {
  861. that.$message.error(error);
  862. });
  863. },
  864. //导出倒推表(客户)
  865. PostInvertedListClientFileDownload() {
  866. var that = this
  867. var url = "/api/Groups/PostInvertedListUpdate"
  868. this.$axios({
  869. method: 'post',
  870. url: url,
  871. headers: {
  872. Authorization: 'Bearer ' + this.token
  873. },
  874. data: {
  875. portType: 1,
  876. isQuery:that.datainfo.isQuery,
  877. id: that.datainfo.id,
  878. diId: that.datainfo.diId,
  879. approvalDataDt: that.datainfo.approvalDataDt,
  880. isApprovalData: that.datainfo.isApprovalData,
  881. approvalDataRemark: that.datainfo.approvalDataRemark,
  882. approvalDt: that.datainfo.approvalDt,
  883. approvalType: that.datainfo.approvalType,
  884. isApproval: that.datainfo.isApproval,
  885. approvalRemark: that.datainfo.approvalRemark,
  886. issueApprovalDt: that.datainfo.issueApprovalDt,
  887. isIssueApproval: that.datainfo.isIssueApproval,
  888. issueApprovalRemark: that.datainfo.issueApprovalRemark,
  889. applyPassportDt: that.datainfo.applyPassportDt,
  890. isApplyPassport: that.datainfo.isApplyPassport,
  891. applyPassportRemark: that.datainfo.applyPassportRemark,
  892. visaInformationDt: that.datainfo.visaInformationDt,
  893. isVisaInformation: that.datainfo.isVisaInformation,
  894. visaInformationRemark: that.datainfo.visaInformationRemark,
  895. visaCountryData: that.datainfo.visaCountryData,
  896. sendVisaDt: that.datainfo.sendVisaDt,
  897. isSendVisa: that.datainfo.isSendVisa,
  898. sendVisaRemark: that.datainfo.sendVisaRemark,
  899. issueVisaDt: that.datainfo.issueVisaDt,
  900. isIssueVisa: that.datainfo.isIssueVisa,
  901. issueVisaRemark: that.datainfo.issueVisaRemark,
  902. airTicketDt: that.datainfo.airTicketDt,
  903. isAirTicket: that.datainfo.isAirTicket,
  904. airTicketRemark: that.datainfo.airTicketRemark,
  905. hotelDt: that.datainfo.hotelDt,
  906. isHotel: that.datainfo.isHotel,
  907. hotelRemark: that.datainfo.hotelRemark,
  908. isSelectedAirportd: that.datainfo.isSelectedAirportd,
  909. isSelectedApprovalData: that.datainfo.isSelectedApprovalData,
  910. isSelectedIssueApproval: that.datainfo.isSelectedIssueApproval,
  911. isSelectedVisaInfo: that.datainfo.isSelectedVisaInfo,
  912. isSelectedSendVisa: that.datainfo.isSelectedSendVisa,
  913. isSelectedIssueVisa: that.datainfo.isSelectedIssueVisa,
  914. isSelectedAirTicket: that.datainfo.isSelectedAirTicket,
  915. isSelectedHotel: that.datainfo.isSelectedHotel,
  916. isSelectedPreTripMeeting: that.datainfo.isSelectedPreTripMeeting,
  917. isSelectedAirportdDropOff: that.datainfo.isSelectedAirportdDropOff,
  918. preTripMeetingDt: that.datainfo.preTripMeetingDt,
  919. isPreTripMeeting: that.datainfo.isPreTripMeeting,
  920. preTripMeetingRemark: that.datainfo.preTripMeetingRemark,
  921. airportdDropOffDt: that.datainfo.airportdDropOffDt,
  922. isAirportdDropOff: that.datainfo.isAirportdDropOff,
  923. airportdDropOffRemark: that.datainfo.airportdDropOffRemark,
  924. client_ApprovalDataDt: that.datainfo.client_ApprovalDataDt,
  925. client_ApprovalDt: that.datainfo.client_ApprovalDt,
  926. client_IssueApprovalDt: that.datainfo.client_IssueApprovalDt,
  927. client_VisaInformationDt: that.datainfo.client_VisaInformationDt,
  928. client_SendVisaDt: that.datainfo.client_SendVisaDt,
  929. client_IssueVisaDt: that.datainfo.client_IssueVisaDt,
  930. client_AirTicketDt: that.datainfo.client_AirTicketDt,
  931. client_HotelDt: that.datainfo.client_HotelDt,
  932. client_PreTripMeetingDt: that.datainfo.client_PreTripMeetingDt,
  933. client_AirportdDropOffDt: that.datainfo.client_AirportdDropOffDt,
  934. }
  935. }).then(function (res) {
  936. if (res.data.code == 200) {
  937. that.$message({
  938. message:res.data.msg ,
  939. type: 'success',
  940. offset:50
  941. });
  942. that.PostInvertedListInfo();
  943. var urls = "/api/Groups/PostInvertedListClientFileDownload"
  944. that.$axios({
  945. method: 'post',
  946. url: urls,
  947. headers: {
  948. Authorization: 'Bearer ' + that.token
  949. },
  950. data: {
  951. portType: 1,
  952. diId: that.value
  953. }
  954. }).then(function (res) {
  955. if (res.data.code == 200) {
  956. that.$message({
  957. message:res.data.msg ,
  958. type: 'success',
  959. offset:50
  960. });
  961. window.open(res.data.data);
  962. }else{
  963. that.$message.error(res.data.msg);
  964. }
  965. }).catch(function (error) {
  966. that.$message.error(error);
  967. });
  968. }else{
  969. that.$message.error(res.data.msg);
  970. }
  971. }).catch(function (error) {
  972. that.$message.error(error);
  973. });
  974. },
  975. },
  976. filters: {
  977. capitalize: function (value) {
  978. value=value+'';
  979. return value.split(" ")[0]
  980. }
  981. },
  982. created(){
  983. this.GetGroupNameList()
  984. },
  985. mounted(){
  986. this.token = JSON.parse(localStorage.getItem('userinif')).token;
  987. this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
  988. }
  989. }
  990. </script>
  991. <style>
  992. .backward-all{
  993. background-color: #fff;
  994. padding: 10px;
  995. box-shadow: 0 0 5px #0005;
  996. border-radius: 10px;
  997. height: 100%;
  998. min-height: 830px;
  999. min-width: 1550px;
  1000. }
  1001. .backward-head-li label{
  1002. color: #606266;
  1003. font-size: 15px;
  1004. font-weight: 600;
  1005. }
  1006. .backward-head{
  1007. display: flex;
  1008. justify-content: space-between;
  1009. }
  1010. .backward-title{
  1011. margin: 30px 0 ;
  1012. text-align: center;
  1013. }
  1014. .backward-title-yi{
  1015. color: #606266;
  1016. font-size: 15px;
  1017. font-weight: 600;
  1018. margin-bottom: 20px;
  1019. }
  1020. .backward-title-er{
  1021. color: #606266;
  1022. font-size: 14px;
  1023. font-weight: 600;
  1024. }
  1025. .backward-table-li{
  1026. display: flex;
  1027. border-top: 1px solid #ebeef5;
  1028. }
  1029. .backward-table-li:last-child{
  1030. border-bottom: 1px solid #ebeef5;
  1031. }
  1032. .backward-li-span:nth-child(1){
  1033. width: 3%;
  1034. }
  1035. .backward-li-span:nth-child(2){
  1036. width: 15%;
  1037. }
  1038. .backward-li-span:nth-child(3){
  1039. width: 15%;
  1040. }
  1041. .backward-li-span:nth-child(4){
  1042. width: 20%;
  1043. color: #606266;
  1044. font-size: 14px;
  1045. font-weight: 600;
  1046. }
  1047. .backward-li-span:nth-child(5){
  1048. width: 47%;
  1049. }
  1050. .backward-li-span{
  1051. border-left: 1px solid #ebeef5;
  1052. padding: 10px;
  1053. text-align: center;
  1054. line-height: 54px;
  1055. }
  1056. .backward-li-span:last-child{
  1057. border-right: 1px solid #ebeef5;
  1058. }
  1059. .backward-li-span .el-radio{
  1060. font-size: 14px;
  1061. margin-right: 6px;
  1062. }
  1063. .backward-li-span .el-radio__label{
  1064. padding-left: 4px;
  1065. }
  1066. </style>